SORU
24 EKİM 2008, Cuma


Oluşturulduktan sonra anonim tür özellik Ekle

Bazı yardımcı yöntemler için benim Html Öznitelikleri geçirmek için isimsiz bir nesne kullanın. Eğer tüketici bir ID özniteliği eklemek, yapmasaydın, Yardımcısı benim yöntemi de eklemek istedim.

Nasıl bu isimsiz nesne için öznitelik ekleyebilir miyim?

CEVAP
11 Aralık 2010, CUMARTESİ


Aşağıdaki uzantısı sınıfı, ihtiyacınız olan her şeyi elde eder.

public static class ObjectExtensions
{
    public static IDictionary<string, object> AddProperty(this object obj, string name, object value)
    {
        var dictionary = obj.ToDictionary();
        dictionary.Add(name, value);
        return dictionary;
    }

    // helper
    public static IDictionary<string, object> ToDictionary(this object obj)
    {
        IDictionary<string, object> result = new Dictionary<string, object>();
        PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(obj);
        foreach (PropertyDescriptor property in properties){
            result.Add(property.Name, property.GetValue(obj));
        }
        return result;
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • amc

    amc

    21 EYLÜL 2005
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006