SORU
12 Ocak 2010, Salı


Eğer özellik özniteliği varsa kontrol edin

Bir sınıf içinde bir özellik, öznitelik - eğer belirli bir öznitelik içerir olmadığını belirlemek için en hızlı yolu nedir? ile verilen Örneğin:

    [IsNotNullable]
    [IsPK]
    [IsIdentity]
    [SequenceNameAttribute("Id")]
    public Int32 Id
    {
        get
        {
            return _Id;
        }
        set
        {
            _Id = value;
        }
    }

Örneğin "İsİdentity" nitelik mi olduğunu belirlemek için en hızlı yöntem nedir

CEVAP
12 Ocak 2010, Salı


Öznitelikleri almak için hiçbir hızlı var. Ama bu kod (Aaronaught kredi) benziyor olmalı:

        var t = typeof(YourClass);
        var pi = t.GetProperty("Id");
        var hasIsIdentity = Attribute.IsDefined(pi, typeof(IsIdentity));

Eğer öznitelik özelliklerini almak için ihtiyacınız varsa

        var t = typeof(YourClass);
        var pi = t.GetProperty("Id");
        var attr = (IsIdentity[])pi.GetCustomAttributes(typeof(IsIdentity), false);
        if (attr.Length > 0) {
            // Use attr[0], you'll need foreach on attr if MultiUse is true
        }

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • akalyne

    akalyne

    13 Mayıs 2009
  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011