C# 别名对于在其他类主体(C)中具有多个typeparams的类
我声明了一个包含许多typeparams的类:C# 别名对于在其他类主体(C)中具有多个typeparams的类,c#,alias,using,genetic,C#,Alias,Using,Genetic,我声明了一个包含许多typeparams的类: public class A<T1, T2, T3, T4, T5> {} 我如何使用别名,如下所示: public class B<T1, T2, T3, T4, T5> { using T = A<T1, T2, T3, T4, T5> public void Method() { T.StaticMethod(); } } 您可以使用剩余的using语句
public class A<T1, T2, T3, T4, T5> {}
我如何使用别名,如下所示:
public class B<T1, T2, T3, T4, T5>
{
using T = A<T1, T2, T3, T4, T5>
public void Method()
{
T.StaticMethod();
}
}
您可以使用剩余的using语句执行此操作:
using MyList = System.Collections.Generic.Dictionary<int, string>;
然而,这是一个有点糟糕的设计。在您发布的示例中,B仍然有5个泛型类型参数,因此没有得到什么好处 我不明白你的问题。看起来您只是希望类B有一个类A的实例,这样您就可以调用它的成员。这是真的吗?C只允许在名称空间中声明别名,而不允许在类中声明别名。但我不想使用长的类声明,我想使用别名。在我的类中,我需要使用5个泛型类型参数。问题是我需要在类B中的类A中使用泛型类型参数。这样的晦涩难懂并不能给你带来任何好处。只要调用一个.StaticMethod,我现在就使用它。我在MSDN博客上的博客中找到了一篇文章:。但也许有一个简单的解决办法?
MyList x = new MyList();
x.Add(0, "Hello World");