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

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • FD2097

    FD2097

    21 HAZİRAN 2009
  • Google Analytics

    Google Analy

    25 ŞUBAT 2008