以下のようなコードでITestにList<Hoge>とList<Fuga>を併記するような書き方はあるでしょうか? public class Fuga{ public string val { get; set; } } public class Hoge{ public string val { get; set; } } interface ITest{ List<Hoge> Hogege(); } public class A : ITest { public List<Hoge> Hogege() { return null; } } public class B : ITest { public List<Fuga> Hogege() { return null; } } class Program { static void Main(string[] args) { ITest AB; AB = new A(); AB = new B(); } }