2012-09-19 4 views
1

IDataObject.GetData()를 호출하고 있는데 파생 클래스에서 작동하지 않습니다. 하나의 어셈블리 (DLL)에서 호출을 만들고 두 클래스 모두 두 번째 어셈블리 (DLL)에 있습니다. 조립품 전체에 걸쳐 수행해야하는 작업이 있습니까?IDataObject.GetData (string, true)는 교차 어셈블리 인 경우 실패합니다.

작동하지 않는 것은 null을 반환한다는 의미입니다. GetDataPresent의 경우 false를 반환합니다. -

bool returnsFalse = dea.Data.GetDataPresent(typeof (ODataBaseNode)); 
bool returnsTrue = dea.Data.GetDataPresent(typeof (ODataEntitySetNode)); 
returnsFalse = dea.Data.GetDataPresent(typeof (ODataBaseNode).FullName, true); 
returnsTrue = dea.Data.GetDataPresent(typeof (ODataEntitySetNode).FullName, true); 

// code in other DLL 
public class ODataEntitySetNode : ODataBaseNode 
{ 

감사 데이브

+1

무엇이 오류입니까? 컴파일 문제? 코드에 액세스 할 수 있습니까? 이 질문에 너무 적은 정보입니다. – oleksii

+0

업데이트 됨 - 감사합니다. –

답변

0

당신은 정확하게 유형 이름이어야 확인할 수 있습니다,의 값을 검사하여 :

dea.Data.GetFormats()[0] 

를 이것은 당신이를 검색 할 통과해야 문자열을 보유해야 데이터. 내 생각에 어셈블리에서 '특별한 것을'해야 할 필요가 있습니다.

파생 형식 및 GetDataPresent에 대해서는 this answer을 확인하십시오. 다른 솔루션을 제안합니다.

관련 문제