Tôi muốn đặt thuộc tính trên thuộc tính công khai trong .NET. Tuy nhiên, tôi không có quyền truy cập vào thuộc tính rõ ràng vì đây là mã được tạo trong tệp khác.Thuộc tính liên kết với thuộc tính được tạo mã trong .net
Tôi có lĩnh vực này:
public virtual string Name { get; set; }
tôi muốn thiết lập này:
[ValidateNonEmpty("Name is required", ExecutionOrder = 1)]
public virtual string Name { get; set; }
Lớp học của tôi được đánh dấu là một phần, nhưng bạn không thể có tính chất cục bộ. Tôi nghĩ rằng tôi đã được vào một cái gì đó với lớp MetadataType đó là một tính năng mới của dữ liệu động và DataAnnotations, nhưng than ôi tôi cảm thấy nó chỉ có thể được sử dụng với dữ liệu động, điều này có đúng không?
Trích dẫn: http://blogs.oosterkamp.nl/blogs/jowen/archive/2008/10/16/metadatatype-attribute.aspx http://blogs.msdn.com/davidebb/archive/2008/06/16/dynamic-data-and-the-associated-metadata-class.aspx
Có cách nào tôi có thể thiết lập này thuộc tính (thậm chí thông qua web.config!) Mà không cần chạm vào lớp mã được tạo?
Cảm ơn trước, Graham
Nhờ Marc, Tôi nghĩ đây có thể là trường hợp. Tôi đã quản lý để lặp qua các thuộc tính của lớp được khai báo "MetadataType" của tôi, tại thời điểm tôi muốn hỏi về các thuộc tính, và tôi chỉ đơn giản so sánh tên của thuộc tính "meta" với thuộc tính thực. – GONeale
Nó không giống như yêu cầu các thuộc tính thực sự, tôi hiểu, nhưng đối với những gì tôi cần nó trông giống như nó sẽ phục vụ mục đích trong trường hợp này. Điều đó thật tuyệt. – GONeale
Hy vọng điều này có ý nghĩa. Bây giờ tôi có thể nhìn thấy nếu một thuộc tính xác nhận đã được khai báo và làm việc cho phù hợp. Tôi bây giờ chỉ hy vọng không có chi phí với tôi bằng cách sử dụng lớp thuộc tính 'MetadataType' thay vì làm cho riêng của tôi mà chỉ đơn giản là nói với nó những gì lớp để xem xét các thuộc tính trên. – GONeale