코드 생성기를 만드는 데 CCI-Metadata를 사용하고 어셈블리 집합을 반복 실행하여 형식과 해당 메타 데이터를 검색 한 다음 코드를 생성합니다. 원래 유형의 메타 데이터에 사용자 지정 특성을 첨부하여 코드 생성을 제어 할 수 있기를 원합니다. 같은Common Compiler Infrastructure : ICustomAttribute를 사용하는 방법
뭔가 :
[GenerateSpecialClass(true, "foo", IsReallySpecial=false)]
public class MyClass { ... }
은 내가 INamedTypeDefinition을하고 Attributes 속성에서 IEnumerable을 얻을. 여기에서 사용자 지정 특성 값 및 속성 값을 얻으려면 어떻게해야하는지 알 수 없습니다.
누군가가 나에게 코드 샘플을 줄 수 있습니까? ICustomAttribute가 주어지면 예제 속성에서 값을 검색 할 수 있습니다. 정의가 다음과 같다고 가정합니다.
public GenericSpecialClassAttribute : Attribute
{
public bool Prop1 { get; set; }
public string Prop2 {get; set; }
public bool IsReallySpecial {get; set; }
public GenericSpecialClassAttribute(bool prop1, string prop2)
{
Prop1 = prop1;
Prop2 = prop2;
}
}
도움이 필요하면 도움을 주시면 감사하겠습니다. 나는 이것을 다른 인터페이스로 던져서 마법 같은 것을 해보 았다고 가정합니다. 그러나 그것으로 무엇이든 도우미를 찾지 못했고 구현/모델 계층을 완전히 이해하지 못했습니다.