0
는이 전 다음과 같은 위임을한다고 가정 해 봅시다 "FailingTest"라는 이름을 얻으시겠습니까?사용 반사 대리자 필드의 이름을 찾을 수
은 지금까지 나는 시도했다 :
var possibleFields = typeof(TestClass).GetFields(relevant_binding_flags)
.Where(x => x.FieldType.Equals(typeof(Example)));
foreach(FieldInfo oneField in possibleFields) {
// HERE I am able to access the declaring type name
var className = oneField.ReflectedType.Name; // == "TestClass"
// but I am not able to access the field
// name "FailingTest" because:
var fieldName = oneField.Name; // == "CS$<>9__CachedAnonymousMethodDelegate1"
}
디버거를 통해 스테핑, 나는 선언 된 필드, "FailingTest"의 이름에 대한 경로를 찾을 수 없습니다입니다.
런타임에 정보가 유지되거나 익명의 대리인이 할당되면 정보가 손실됩니까?
VS2008SP1을 사용하여 동일한 결과를 얻었습니다. – Andy
그건 나를 위해 일했습니다; 어떻게 든 BindingFlags.Instance를 놓친 다음 Type에서이 정보를 얻으 려하고 익명 메소드 값을 읽습니다. 인스턴스를 사용하여 트릭을했습니다. 감사! –