Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 别名​​对于在其他类主体(C)中具有多个typeparams的类_C#_Alias_Using_Genetic - Fatal编程技术网

C# 别名​​对于在其他类主体(C)中具有多个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语句

我声明了一个包含许多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语句执行此操作:

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");