2013-01-15 2 views
-1

내 프로젝트에서 webservice를 참조했습니다. 클라이언트 프로젝트에서 webservice 클래스 객체에 인터페이스를 구현하려고합니다. 가능합니까?webservice 클래스의 클라이언트에서 인터페이스를 구현하십시오.

동일한 네임 스페이스의 웹 서비스 부분 클래스에서 인터페이스를 구현하려고했습니다. 그것은 작동하지 않았다. 클라이언트 측에서 예컨대

namespace ABCWebService 
{ 
    public partial class MyWebServiceObject : IInterface 
    { 

    } 
} 

MyWebServiceObject는 객체입니다. 내가 인터페이스에 개체를 캐스팅하려고하면

이제 코드에서 작동하지 않습니다

예를 들어,

foreach(var item in e.Result) 

{ 
    if(item is IInterface) // it doesn't go inside. 
    { } 
} 

제안 사항.

또한 서버 프로젝트에서 인터페이스를 구현하면 인터페이스에 액세스 할 수 없습니다.

public class MyWebServiceObject : IInterface 
{ 

} 

지금 클라이언트 측 어떻게이 IInterface를 참조 할 예정입니까? 인식하지 못합니다.

참조 파일에서 변경해야합니까?

감사합니다.

+0

"작동하지 않음"은 무엇입니까? 어떤 오류가 있었습니까? – carlosfigueira

+0

인터페이스에서 개체를 캐스팅하려고 시도했지만 (obj가 IInterface 임)과 같이 캐스팅되지 않았습니다. – Gyandeep

+0

웹 서비스는 서비스 인터페이스로 구현되지 않고 사용하기위한 것입니다. –

답변

0

개체 유형은 서비스가 아니라 인터페이스를 구현해야합니다. (서비스가없는 이상)

+0

MyWebService는 서비스가 아닌 객체입니다. – Gyandeep

+0

"콜렉션 콜렉션 은 서비스 중입니다. 이러한 오브젝트를 하나의 오브젝트로 변환해야하므로 추가 작업에 필요한 몇 가지 특성이있는 iterface IInterface를 작성했습니다 .var dataType = Obj1.GetType); if (dataType이 IInterface 인 경우) {} 인터페이스에 캐스팅되지 않았습니다. " 그래서 Obj1과 Obj2가 IInterface를 구현합니까? 그러면 다음을 수행하면됩니다. if (obj1 is IInterface) {} -이 질문에 해당하지 않는다면 원래 질문을 편집하고 완전한 방법을 추가하여 하려고해라. – Michael

+0

Obj1과 Obj2의 인터페이스를 서비스 프로젝트에 구현하면 걱정됩니다. 클라이언트 프로젝트에서 인터페이스에 액세스 할 수 있습니까? – Gyandeep

-1

안녕하세요. 내가 잘못된 네임 스페이스를 언급했다. 클라이언트 서비스 네임 스페이스 대신 서버 네임 스페이스를 사용했습니다.

나는 그것이 매우 어리석은 실수라는 것을 알고있다. 미안, 너를 괴롭혔다.

많은 시간과 제안에 감사드립니다.

같은 조건에 걸린 사람들에게 위의 예가 적용됩니다. 동일한 네임 스페이스 아래에 클라이언트 위치에 인터페이스를 구현할 수 있습니다.

관련 문제