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

  • infodirt

    infodirt

    11 Mart 2009
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • michal lelkowski

    michal lelko

    9 Temmuz 2006