2009-08-07 17 views

cevap

10

Ne aradığınızı inanıyoruz MetadataTypeAttribute olduğunu. Bu, MVC'ye özgü bir şey değil, 3.5'de tanıtılan DataAnnotation ad alanının bir parçası. Sınıfa kendi başına bir kısmi sınıfın üyelerini dekore etmenizi sağlar.

Örneğin, Müşteri adında oluşturulmuş bir kısmi sınıf türünüz varsa ve buna nitelik eklemek istediyse, aynı ad alanında yeni bir kısmi parça oluşturabilir ve MetadataType ile etiketleyebilirsiniz. Ardından, eşleşen özelliklere sahip Meta Veri sınıfını oluşturun ve bunları dekore edin.

/* Generated class */ 
public partial class Customer 
{ 
    public string Name { get; set; } 
} 


/* MetadataType decorated class */ 
[MetadataType(CustomerMetadata)] 
public partial class Customer 
{ /* ... */ } 


/* Metadata type */ 
public class CustomerMetadata 
{ 
    [Required(ErrorMessage = "Name is required")] 
    public string Name { get; set; } 
} 
+0

teşekkürler ton! Tam olarak ihtiyacım olan buydu. :) –

+0

Sınıfları ayırmanın amacı nedir? – UpTheCreek

+1

Bu, EF veya LINQ2SQL'den otomatik olarak oluşturulan sınıfları işlemek için çirkin bir çözüm olduğundan, bir "nokta" değil. Sınıf dosyaları üretildiğinden, özelliklerin özelliklerine uygulanmasının bir yolu yoktur, bu nedenle hacky bir alternatif oluşturuldu. –