2016-07-14 3 views
-1

내가 이런 걸 가지고 : ....C# 인터페이스의 리턴 타입 타입 (안 실수)

Interface IClass 
{ 
    (something) returnClass(); 
} 

Class Breaker: IClass 
{ 
    Public GIS.Breaker returnClass() 
    { 
     return new GIS.Breaker(); 
    } 
} 

Class Conductor: IClass 
{ 
    Public GIS.Conductor returnClass() 
    { 
     return new GIS.Conductor(); 
    } 
} 

gis.breaker 및 gis.conductor 모두 DLL 파일을 사용하여 가져온 클래스에 구축됩니다

그리고 지금 나는 인터페이스로 무엇을 해야할지 모르겠다 ... 형식을 반환하는 데 필요한 ... 문자열이 아닌 ... 이중 ....하지만 일반적으로 형식

수행 방법 그것?

+3

음,'object'? 또는 인터페이스를 제네릭으로 만들 수 있습니까? 다른 사람이 이걸 어떻게 사용한다고 기대하니? (샘플 코드가 적절한 .NET 네이밍 규칙을 사용하고 'Public'대신 'public'과 같은 적절한 대/소문자 구분을 사용하면 도움이됩니다.) –

+0

Sry for the code ... 저는 전화로 ... PC가 아니라 ... pl 답을 설명해 주면 .... 나는 타입 dznamic을 만들기 위해 thougt을 할 수 있습니다. – Stefan

+0

음, 아마도. 물론 구현에서 반환 유형을 변경해야합니다. 그러나 * 좋은 일을 할 수있는 상황에 있지 않을 때는 질문하지 마십시오. 적절한 컨텍스트를 제공 할 수있는 PC를 사용할 때까지 기다리십시오. 인터페이스가 어떻게 사용될 것인지 알지 못하기 때문에 질문에 대한 답변이 너무 명확하지 않습니다. –

답변

2

차단기와 도체는 공통적 인 인터페이스를 구현해야합니다. 그렇지 않으면 IClass를 일반화 할 수 있습니다.

interface IClass<T> 
{ 
    T ReturnClass(); 
} 

class Breaker: IClass<GIS.Breaker> 
{ 
    public GIS.Breaker ReturnClass() 
    { 
     return new GIS.Breaker(); 
    } 
} 

class Conductor: IClass<GIS.Conductor> 
{ 
    public GIS.Conductor ReturnClass() 
    { 
     return new GIS.Conductor(); 
    } 
} 

하지만 인스턴스 빌더와 객체를 결합하는 것은 좋지 않은 생각입니다.

+0

Ty bro .... that that 내가 필요한 것 ... – Stefan