私が作成している小さなプロジェクトがあり、特定のインターフェイスから継承するすべてのクラスのインスタンスを取得できるかどうかを調べようとしています。
私が達成しようとしていることの簡単な例を次に示します。
public interface IExample
{
string Foo();
}
public class Example1 : IExample
{
public string Foo()
{
return "I came from Example1 !";
}
}
public class Example2 : IExample
{
public string Foo()
{
return "I came from Example2 !";
}
}
//Many more ExampleN's go here
public class ExampleProgram
{
public static void Main(string[] args)
{
var examples = GetExamples();
foreach (var example in examples)
{
Console.WriteLine(example.Foo());
}
}
public static List<IExample> GetExamples()
{
//What goes here?
}
}
GetExamples メソッドがインターフェイス IExample から継承する各クラスのインスタンスを含むリストを返す方法はありますか (ハードコーディングする以外に) ありますか? あなたが与えることができる洞察は大歓迎です。