私は現在コンピュータサイエンスコースの授業を行っていますが、私はそれ以上の進歩を妨げるロードブロックに遭遇しました。私はInfoCardインターフェイスを返そうとしていますが、どうすればよいか分かりません。どのように私はインターフェイスのInfocardのインスタンスを返すだろうか?
-2
A
答えて
-1
次のコードが便利です。
public IInfoCard CreateNewInfoCard(string category)
{
return new InfoCard();
}
public interface IInfoCard
{
int foo { get; set; }
}
public interface IInfoCardFactory : IInfoCard
{
IInfoCard CreateNewInfoCard(string category);
IInfoCard CreateInfoCard(string initialDetails);
string[] CategoriesSupported { get; }
string GetDescription(string category);
}
public class InfoCard : IInfoCardFactory
{
public IInfoCard CreateNewInfoCard(string category)
{
throw new NotImplementedException();
}
public IInfoCard CreateInfoCard(string initialDetails)
{
throw new NotImplementedException();
}
public string[] CategoriesSupported
{
get { throw new NotImplementedException(); }
}
public string GetDescription(string category)
{
throw new NotImplementedException();
}
public int foo
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
}
0
あなたは、あなたの関数の戻り値の型としてのインターフェイスを持つことができますが、あなたのクラスの実装を返すMOSTおよびインタフェース戻り値の型の利点は、あなたのインターフェイス 例のいずれかのinplementationを返すことができます:
interface ISampleInterface
{
string SampleMethod();
}
class ImplementationClass1 : ISampleInterface
{
// Explicit interface member implementation:
void ISampleInterface.SampleMethod()
{
// Method implementation.
return "implementation1";
}
}
class ImplementationClass2 : ISampleInterface
{
// Explicit interface member implementation:
void ISampleInterface.SampleMethod()
{
// Method implementation.
return "implementation2";
}
}
あなたは関数の戻り値の型として、次のようにそのインタフェースを使用することができます:コードを使用すると、別のimplemを返すことができることを意味していること
public ISampleInterface MyFunction(bool t)
{
return t : new ImplementationClass1() ? ImplementationClass2();
}
あなたの選択によるあなたのインタフェースの実装
関連する問題
- 1. Gitのバックアウト・マスター、どのように私が行くだろう
- 2. どのように私はmysqlテーブルのデータの未知の量を格納するだろうか?
- 3. 私はそれを行うだろうか、特定の属性
- 4. メニューどのようにスタイルとIE7を受け入れるのだろうか
- 5. どのバージョンはウェブマスターツールからインデックスをグーグルのだろうか?
- 6. がどのように私は城ウィンザーの特定のインターフェイス
- 7. JavaMail replyToをcoldfusionに追加するにはどうすればよいですか?私は、次のようなものだろうにJavaMailを使用して
- 8. は、どのように私はこのような何かをやろうとしているクラス
- 9. インスタンス:この例のように複数の括弧を返すにはどうすればよいですか?
- 10. は、私は次の操作を行うだろうか、Javaでは
- 11. どのように私はこれら二つのオブジェクトがあるだろう。NET
- 12. なぜこのように中央値を計算するのだろうか?
- 13. は、どのように私は、単一のインスタンスは、アプリケーション
- 14. を変えるのだろうか?
- 15. 私はjs fiddleがサイズ変更とlayotに関するテキストエリアをどう扱っているのだろうか
- 16. MySQLはより多くの1つの選択私は疑問だろう
- 17. SDK:正確には何ですか?どのように役立つだろうか?
- 18. はあなたがC#でこれを行うだろうどのようにC#の
- 19. NerdDinnerのDinner.GetRuleViolations関数はどのようにリストを返しますか?私が読んだから
- 20. C#の - どのように私は私がやろうとしています何
- 21. 私はこのSpeechAPIインターフェイスをインスタンス化しているようです。そんなことがあるものか?
- 22. どのように私はインターフェイスのようなGoogleマップを作ることができます
- 23. 私は簡単になるだろうC
- 24. MySQLがテーブルを後ろに返すようにする
- 25. WCF契約のインターフェイスへの参照を返すにはどうすればよいですか?
- 26. どのように私はタイトルを繰り返し配列インデックス
- 27. どのようにクラスのリストをインターフェイスのリストに渡す?
- 28. 赤外線アプリケーションの無差別プログラミング。私は成功するだろうか?
- 29. メインページにロゴをリダイレクトしますか?私はこの画像をクリックすると、それが私をリダイレクトなるように、私はそれを作るだろうか(どのように画像にハイパーリンクを追加するには?)
- 30. どのようにIEnumeratorインターフェイスを実装しますか?
あなたの質問は曖昧です、もっと詳しく... –
あなたは実装を選択してそれを送り返します:) –