Sayfalar

29 Ağustos 2019 Perşembe

Attributes & Custom Attributes



System.CompenentMode.DataAnnotations sınıfına ait bir özelliktir.
Sınıflara, metotlara sınırlama, kural yada ilave özellik katmak için kullanılır.
Örneğin Customer sınıfı instance alınırken FirstName prop. zorunlu olarak yazılmalıdır.
Yada Class'ın başına da attribute yazılabilir.

[Table("Customer")]
public class Customer : IEntity
{
    public int Id { getset; }
    [Required]
    public string FirstName { getset; }
    [Required]
    public string LastName { getset; }
    public int Age { getset; }
 
}

Kendi Attribute sınıflarımızı da oluşturabiliriz. Yukarıdaki örnekte DataAnnotations kullanıldı. Şimdide kendi sınıfımızdan Att. türetelim. Bu sınıfların hepsi "Attribute" sınıfından miras almalıdırlar.



[MyTable("Customer")]
public class Customer : IEntity
{
    public int Id { getset; }
    [MyRequired]
    public string FirstName { getset; }
    [MyRequired]
    public string LastName { getset; }
    public int Age { getset; }
 
}
 
 
class MyRequiredAttribute:Attribute
{
 
}
 
class MyTableAttribute:Attribute
{
    string _tablename;
 
    public MyTableAttribute(string tableName)
    {
        _tablename = tableName;
    }
 
}


-----


MVC LOADING TOO SLOW ISSUE