2016-07-14 11 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

um、 'object'?あるいは、あなたのインターフェースを一般的にするか?どのように誰がこれを使用すると思いますか? (サンプルコードで適切な.NET命名規則を使用し、宣言に適切なケーシング、たとえば 'Public'の代わりに' public'など)を使用すると役に立ちます。 –

+0

コードを覚えています...私は電話しています... PC上ではない... plsは答えを説明する....私はタイプdznamicを作るthougt ....それは働くことができますか? – Stefan

+0

ええ、多分。もちろん、実装の戻り値の型を変更する必要があります。しかし、*あなたがそれをうまくやっている状況にないときは、質問しないでください。適切なコンテキストなどを提供できるPCを使用するまで待ってください。インタフェースがどのように使用されるかわからないので、あなたの質問は現時点では不明です。 –

答えて

2

BreakerとConductorは、共通のインターフェイスを実装する必要があります。そうしないと、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 its何が必要なの? – Stefan

関連する問題