2012-02-11 7 views
2

검색된 결과가 없습니다. 누구든지 XAML 내의 정적 클래스에서 정적 메서드를 호출하는 방법을 알고 있습니까? 내가 정적 클래스와이 시도했다XAML을 통해 정적 클래스에서 정적 메서드 호출

<ObjectDataProvider x:Key="mthd" ObjectType="{x:Type l:MyClass}" MethodName="MyStaticMethod"> 
    <ObjectDataProvider.MethodParameters> 
     <sys:String>Test</sys:String> 
    </ObjectDataProvider.MethodParameters> 
</ObjectDataProvider> 

과 실패 : 나는 같은 것을 수행하여 ObjectDataProvider를 사용하여 일반 클래스의 정적 메소드를 호출하는 것이 가능하다는 것을 알고있다. 정적 클래스는 "객체 참조가 객체의 인스턴스로 설정되지 않음"을 제외하고는 인스턴스화 될 수 없기 때문에

.Net 4.0의 정적 클래스에서 이와 비슷한 작업을 수행 할 수 있습니까? 미리 감사드립니다.

+0

정적 클래스에 대해 위에서 시도한 적이 있습니까? –

+0

나는 확실히 가지고있다. 정적 클래스를 인스턴스화 할 수 없으므로 다음과 같은 예외가 발생합니다. "개체 참조가 개체의 인스턴스로 설정되지 않았습니다." – Bambu

+0

인스턴스가 아닌 클래스에서 정적 메서드를 호출하려면 클래스의 인스턴스가 필요한 이유는 무엇입니까? 나에게 이해가되지 않는다 ... –

답변

1

ObjectDataProvide과 같은 것을 만드는 것은 정말 간단합니다. 약간의 리플렉션을 사용해야합니다. 메소드 이름과 매개 변수와 함께 XAML에서 Type 속성을 통해 클래스 유형을 가져온 다음 을 오른쪽에 BindingFlags으로 사용하고 전달 된 매개 변수로 호출하십시오.

+2

맞아요, 당신은 [DataSourceProvider] (http : /msdn.microsoft.com/en-us/library/system.windows.data.datasourceprovider.aspx),'ObjectDataProvider'와 비슷한 속성을 정의하십시오. 'BeginQuery'를 오버라이드하고'OnQueryFinished'에 의해 새로운 데이터를 적용해야합니다. – Clemens

+0

Clemens & H.B .: 감사합니다! – Bambu

+0

@MaxMazur : "@"표기법을 사용해야합니다. 그렇지 않으면 게시물 소유자가 아닌 사람에게 내 의견이 통보되지 않습니다. –

관련 문제