2
참조가있는 클래스에서 메소드를 호출하려고합니다. 호출하려는 메서드에는 사용자 지정 특성이 있습니다. 현재이 속성을 찾아 내 클래스 속성의 속성을 호출 할 수 있습니다.속성을 사용하여 클래스에서 메소드를 호출하려면 어떻게합니까?
그 방법을 호출 할 방법이 있습니까?
PS/프로젝트는 vbnet으로 작성되었지만 해결책은 C#에서와 동일하다고 생각합니다.
참조가있는 클래스에서 메소드를 호출하려고합니다. 호출하려는 메서드에는 사용자 지정 특성이 있습니다. 현재이 속성을 찾아 내 클래스 속성의 속성을 호출 할 수 있습니다.속성을 사용하여 클래스에서 메소드를 호출하려면 어떻게합니까?
그 방법을 호출 할 방법이 있습니까?
PS/프로젝트는 vbnet으로 작성되었지만 해결책은 C#에서와 동일하다고 생각합니다.
이 인 경우 해당 속성을 MethodInfo
(으)로 추측 할 수 있습니다. MethodInfo.Invoke
메서드를 호출하기 만하면 사용할 객체의 인스턴스를 지정해야하며 (정적 메서드 인 경우 null
) 프로토 타입과 동일한 순서로 메서드에 전달할 모든 매개 변수를 지정해야합니다.
이 프로토 타입 방법을 호출해야하는 경우 :
void Foo(string name, int value);
을 그리고 당신은 그 방법 (지정된 속성에 대한 검색을) 찾을 수있는 기능을 가지고 :
MethodInfo FindMethodWithAttribute(Type attributeType, Type objectType);
을 y는 수
MethodInfo method = FindMethodWithAttribute(
typeof(MyAttribute), // Type of the "marker" attribute
anObject.GetType()); // Type of the object may contain the method
method.Invoke(anObject, new object[] { "someText", 2 });
: 당신은 찾아이 코드 (가상 객체
anObject
의) 메소드를 호출 할 수 있습니다 더 자세한 내용이나 코드를 작성하십시오. 귀하의 질문은 아직 명확하지 않습니다. –