:
dynamic values = TypeDescriptor.GetAttributes(myExpando);
for (int i = 0; i < values.Count; i++)
{
System.Console.WriteLine(values[i]);
}
Ben özel böyle niteliklerini okuyabilir emin değilim:
dynamic myExpando = new ExpandoObject();
myExpando.SomeProp = "string";
TypeDescriptor.AddAttributes(myExpando, new SerializableAttribute());
bunu kullanmalısınız özelliklerini okumak için . Ancak aynı zamanda yansıma deneyebilirsiniz:
System.Reflection.MemberInfo info = myExpando.GetType();
object[] attributes = info.GetCustomAttributes(true);
for (int i = 0; i < attributes.Length; i++)
{
System.Console.WriteLine(attributes[i]);
}
Ancak yansıma ile size nitelikleri statik meta vardır çünkü eklenmiştir niteliğini göremez.
TypeDescriptor, .NET FCL tarafından sağlanan bir meta veri altyapısıdır. O kod çalıştırmasına ve görmüyorum neden
http://blogs.msdn.com/b/parthopdas/archive/2006/01/03/509103.aspx
: Burada makaleyi okuyabilirsiniz? –
'TypeDescriptor' 'seçeneğini işaretlediniz mi? http://msdn.microsoft.com/en-us/library/system.componentmodel.typedescriptor%28v=vs.110%29.aspx – Matthew
@SamIam: Çalışmasını beklediğini sanmıyorum, ama açık olmak gerekirse , yok hayır. İşe yaramıyor. Sonuç şudur: 'RuntimeBinderException:' System.Dynamic.ExpandoObject '' AddAttribute '' – recursive