1
필드를 속성으로 바꾸려면 Cecil을 사용할 수 있습니까? 구체적으로 :Mono.Cecil은 필드를 속성으로 바꿀 수 있습니까?
// Replace this.
public static readonly Something Thing = new Something(...);
// With this.
private static readonly Something _Thing = new Something(...);
public static Something Thing
{
get
{
// My goal is to insert some extra code here, which I can't do if it's a field.
return _Thing;
}
}
그리고 가능한 경우 효율적으로 수행 할 수 있습니까? I.E. 그런 다음 모든 참조 어셈블리의 모든 유형에서 모든 메서드를 통해 Thing
의 모든 인스턴스를 해당 속성의 get_Thing
으로 호출해야합니다.
사용자가 public static Something Thing { get; } = new Something(...);
으로 작성하여 이미 속성이므로 쓰기가 훨씬 쉽습니다. Unity의 컴파일러가 속성 초기화 프로그램을 지원하지 않기 때문에 그렇게 할 수 없습니다.
참고 : IL을 사용한 작업에 대해서는 알지 못합니다.