Yani, varsa:Bir mülkün arayüzü/taban tipi atalarından tüm öznitelikler nasıl edinilebilir?
public class Sedan : Car
{
/// ...
}
public class Car : Vehicle, ITurn
{
[MyCustomAttribute(1)]
public int TurningRadius { get; set; }
}
public abstract class Vehicle : ITurn
{
[MyCustomAttribute(2)]
public int TurningRadius { get; set; }
}
public interface ITurn
{
[MyCustomAttribute(3)]
int TurningRadius { get; set; }
}
ben böyle bir şey yapmak için kullanabileceği sihir nedir
:
[Test]
public void Should_Use_Magic_To_Get_CustomAttributes_From_Ancestry()
{
var property = typeof(Sedan).GetProperty("TurningRadius");
var attributes = SomeMagic(property);
Assert.AreEqual(attributes.Count, 3);
}
İkisi
property.GetCustomAttributes(true);
Ve
Attribute.GetCustomAttributes(property, true);
Sadece 1 özniteliği döndür. Örnek, MyCustomAttribute (1) ile oluşturulmuş olanıdır. Bu beklendiği gibi çalışmıyor.
Sağlanan örnekte, onaylama başarısız olur. Tüm 3 değil, 1 özniteliği döndürür. –
Haklısınız, çünkü bu gerçekten sadece bir özel atıftır. – albertein
Özniteliğin örneğini değiştirirsem, yalnızca arabayı geri döndürüyor gibi görünüyor. Yani arabanın peşinden gitmiyor. Güncellenmiş soruya bakın. Yardım için Ty olsa. –