컴파일 타임 예외가 발생합니다.
public sealed class ValidatesAttribute<T> : Attribute
{
}
[Validates<string>]
public static class StringValidation
{
}
C #이 일반 속성을 지원하지 않는다는 것을 알고 있습니다. 그러나 많은 인터넷 검색 후 이유를 찾을 수없는 것 같습니다.
왜 일반 형식을 파생시킬 수 없는지 아는 사람이 Attribute
있습니까? 어떤 이론?
abstract class Base<T>: Attribute {}
비 만드는 데 사용할 수있는 이와 같은 일반적인 파생 클래스 :class Concrete: Base<MyType> {}
[DependsOnProperty<Foo>(f => f.Bar)]
이나 [ForeignKey<Foo>(f => f.IdBar)]
...