ASP.NET MVC V2 - Classes de Buddy
-
12-09-2019 - |
Pergunta
Alguém tem um exemplo de classes de Buddy em ASP.NET MVC 2 Preview 1? Eu não consigo encontrar nada no MSDN sobre isso, mas de acordo com ScottGu eles adicionaram funcionalidades para ele na versão mais recente.
Solução
Eu acredito que o que você está procurando MetadataTypeAttribute. Isso não é algo que é específico para MVC mas parte dos DataAnnotations namespace introduzido em 3.5. Ele permite que você decorar membros de uma classe parcial externa para a própria classe.
Por exemplo, se você tivesse um gerado tipo de classe parcial com o nome do cliente e queria adicionar atributos a ele, você pode criar uma nova parcial no mesmo namespace e tag-lo com o MetadataType. Em seguida, crie a classe de metadados com atributos correspondentes e decorá-los.
/* 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; }
}