C# 如何声明一个在tuntime中获得类型的类型,如元组 请考虑元组< /代码>声明: public static class Tuple { public static Tuple<T1> Create<T1>(T1 item1); public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2); public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item2, T3 item3); ....

C# 如何声明一个在tuntime中获得类型的类型,如元组 请考虑元组< /代码>声明: public static class Tuple { public static Tuple<T1> Create<T1>(T1 item1); public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2); public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item2, T3 item3); ....,c#,generics,C#,Generics,现在我想声明我的类型,比如Tuple,它可以在运行时获取类型(类) public static class Nime { public static Nime<T1> Create<T1>(T1 item1); } 公共静态类Nime { 公共静态Nime创建(T1项1); } 但我有一个错误: 非泛型类型“Nime”不能与类型参数一起使用 如何声明一个类,比如Tuple,在运行时获取类型 谢谢像这样的东西会有用的: public class Nime<

现在我想声明我的类型,比如
Tuple
,它可以在运行时获取类型(类)

public static class Nime
{
    public static Nime<T1> Create<T1>(T1 item1);
}
公共静态类Nime
{
公共静态Nime创建(T1项1);
}
但我有一个错误:

非泛型类型“Nime”不能与类型参数一起使用

如何声明一个类,比如
Tuple
,在运行时获取类型


谢谢

像这样的东西会有用的:

public class Nime<T1>
{
    public static Nime<T1> Create(T1 item1)
    {
        return new Nime<T1>(item1); 
    }

    public T1 Item { get; set; }

    private Nime(T1 item)
    {
        Item = item;
    }
}
公共类Nime
{
公共静态Nime创建(T1项1)
{
返回新Nime(第1项);
}
公共T1项{get;set;}
二等兵尼姆(T1项)
{
项目=项目;
}
}
然后您可以这样使用它:

Tuple<Mycls> a = new Tuple<Mycls>(new Mycls());
var n = Nime<string>.Create("foo");
Console.WriteLine(n.Item);
var n=Nime.Create(“foo”);
控制台写入线(n.项);

当然,输出是“foo”。

类似的东西可以工作:

public class Nime<T1>
{
    public static Nime<T1> Create(T1 item1)
    {
        return new Nime<T1>(item1); 
    }

    public T1 Item { get; set; }

    private Nime(T1 item)
    {
        Item = item;
    }
}
公共类Nime
{
公共静态Nime创建(T1项1)
{
返回新Nime(第1项);
}
公共T1项{get;set;}
二等兵尼姆(T1项)
{
项目=项目;
}
}
然后您可以这样使用它:

Tuple<Mycls> a = new Tuple<Mycls>(new Mycls());
var n = Nime<string>.Create("foo");
Console.WriteLine(n.Item);
var n=Nime.Create(“foo”);
控制台写入线(n.项);

输出当然是“foo”。

我想我知道你想要模仿什么

您需要以下内容:

class Nime<T> { ... }

static class Nime
{
  public static Nime<T> Create<T>(T t) { return new Nime<T> { ... } }
}

我想我知道你想模仿什么

您需要以下内容:

class Nime<T> { ... }

static class Nime
{
  public static Nime<T> Create<T>(T t) { return new Nime<T> { ... } }
}