SORU
9 EYLÜL 2008, Salı


Değişiklik'zamanında s parametre Özniteliği

Olası çalışma zamanı sırasında öznitelik parametresi değiştirmek için olup olmadığından emin değilim? Bir derleme içinde örneğin, aşağıdaki sınıf var

public class UserInfo
{
    [Category("change me!")]
    public int Age
    {
        get;
        set;
    }
    [Category("change me!")]
    public string Name
    {
        get;
        set;
    }
}

Bu üçüncü taraf satıcı tarafından sağlanan bir sınıftırKodu değiştiremem. Ama şimdi buldum bu yukarıdaki açıklamaları doğru değildir, ve ben istiyorum değiştirmek için "Değiştir beni" kategori adı için başka bir şey olduğunda ben bağlama örneği yukarıdaki sınıf için bir kılavuz özelliği.

Bunu nasıl öğrenebilir miyim?

CEVAP
9 EYLÜL 2008, Salı


Evet yalan söyledim her gün yeni bir şey, görünüşe göre alın

Bu genellikle fark değil özniteliği değiştirebilirsinizörnekoldukça değerleri çalışma zamanında kolayca. Nedeni. tabii, bu örnekleri o oluşturulan sınıfların öznitelik normal nesneler ve mükemmel olabilir kısıtlama olmadan kullanılır. Örneğin, nesne elde edebiliriz:

ASCII[] attrs1=(ASCII[])
    typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);

...ortak değişkenin değerini değiştirme ve değiştirdiğini gösterir:

attrs1[0].MyData="A New String";
MessageBox.Show(attrs1[0].MyData);

...ve son olarak başka bir örnek oluştur ve onun değeri değişmez olduğunu göstermektedir:

ASCII[] attrs3=(ASCII[])
    typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
 MessageBox.Show(attrs3[0].MyData);

http://www.vsj.co.uk/articles/display.asp?id=713

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • modica89

    modica89

    24 HAZİRAN 2007