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

  • guau . .

    guau . .

    25 Ocak 2008
  • kylelandry

    kylelandry

    9 AĞUSTOS 2007
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012