Özellik adını dinamik olarak ayarlayabileceğim bir anonim yazı tipi oluşturmak istiyorum. anonim tip olmak zorunda değildir. Tek istediğim, özellik isimlerini dinamik olarak ayarlamaktır. Bu ExpandoObject vb olabilir. Ama sözlük benim için çalışmaz. Önerileriniz nelerdir? Çok teşekkürlerAnonim bir tür dinamik olarak mı yaratılıyor?
cevap
Sadece ExpandoObject
dinamik özelliklere sahip olabilir.
Düzenleme:
dynamic sampleObject = new ExpandoObject();
sampleObject.TestProperty = "Dynamic Property"; // Setting dynamic property.
Console.WriteLine(sampleObject.TestProperty);
Console.WriteLine(sampleObject.TestProperty .GetType());
// This code example produces the following output:
// Dynamic Property
// System.String
dynamic test = new ExpandoObject();
((IDictionary<string, object>)test).Add("DynamicProperty", 5);
Console.WriteLine(test.DynamicProperty);
evet bunu biliyorum. ama örneğin bir dizi dizisinden ExpandoObjects özelliğini ayarlayabilir miyim? – ward87
... iyi ya da 'IDynamicMetaObjectProvider' öğesini uygulayan başka bir tür. –
ExpandoObject, 'IDictionary
Daha sonra, olur, anahtar kümesini bu şekilde bir sözlüğe ExpandoObject
döküm ve onu doldurabilirsiniz: Burada bir (kendi MSDN açıklamasından) Expand Object kullanım örneğidir ExpandoObject öğesinde özellik adları görünür ...
dynamic data = new ExpandoObject();
IDictionary<string, object> dictionary = (IDictionary<string, object>)data;
dictionary.Add("FirstName", "Bob");
dictionary.Add("LastName", "Smith");
Console.WriteLine(data.FirstName + " " + data.LastName);
+1 Oldukça vahşi ve dinamikleri bu yeteneği bilmiyordum. Diğer diller benzer yeteneklere sahiptir ve bu kesinlikle birkaç büyük kullanım durumları olacaktır. Öte yandan, aynı zamanda oldukça istismar edilebilir ve aynı zamanda da saygıyla kullanılmalıdır. – AaronLS
- 1. Montaj sınırları boyunca dinamik anonim tür döndürme/tüketme
- 2. Niçin anonim tür kullanıyor ve GroupBy'de açık bir tür kullanmıyorsunuz?
- 3. Dinamik olarak bir C# anonim türün özellik adını ayarlama
- 4. Anonim bir tür başka türde mi devralabilir?
- 5. Python Listeler sözlüğü yaratılıyor
- 6. Genel bir tür parametresini anonim bir türle kısıtlamanın bir yolu var mı?
- 7. Anonim tür alanına erişmek için C# 'de dinamik kullanma - mümkün mü?
- 8. bu dinamik kullanımının kötü bir uygulaması mı?
- 9. Bir sınıfı dinamik olarak yüklemek ve onu bir tür olarak kullanmak mümkün mü?
- 10. Yeni Anonim Sınıf nasıl dinamik yapılır? C# '
- 11. Generics'i dinamik olarak kullanmak imkansız mı?
- 12. "Dinamik" etkinlik aboneliğinde anonim yöntemler nasıl önlenir?
- 13. Anonim olarak oluşturulmuş bir gizli özü silme
- 14. Sinon anonim saplama bir parametre olarak iletildi
- 15. Dinamik Liste <T> tür
- 16. Lambda \ Anonim Parametre olarak fonksiyon
- 17. JavaScript: prototip dinamik olarak kötü bir uygulama mı uzatıyor?
- 18. Anahtar dinamik olarak haritada() javascript olarak mı ayarlanır?
- 19. Bir işlev argümanı olarak dinamik
- 20. Dinamik bir tür için seri hale getirme nasıl yapılır
- 21. Dinamik olarak bir alt sorguyu
- 22. anonim bir arabirime dökülüyor mu?
- 23. 'Dinamik' tür veya ad alanı adı bulunamadı
- 24. iOS'ta Etiketlerde Dinamik Tür Nasıl Desteklenir 7
- 25. Reflect.Emit Dinamik Tür Bellek Yanıp Sönme
- 26. Anonim tip özelliklerine nitelik katmanın bir yolu var mı?
- 27. Bir "tür" argüman olarak geçebilir misiniz?
- 28. Drupal 8'de bir Bartik alt teması yaratılıyor
- 29. Anonim sınıflar bir sabite atandığında bir kanca var mı?
- 30. Bir modülü dinamik olarak imp
Neden bir sözlük sizin için çalışmıyor? – dtb
çünkü bunu bir telerik grid'in veri kaynağına bağlamak zorundayım ve aynı zamanda grid sütunlarını dinamik olarak ekliyorum. – ward87