当我不知道 T 是什么时,如何在另一种方法中使用泛型 类?
How Can I use generic classes in another method when I dont know what is T?
假设我们有这些 类:
public class NodeOutput<T> : NodeData
{
public T Value;
public NodeOutput(string name, T value)
: base(name)
{
this.Value = value;
}
}
public class NodeInput<T> : NodeData
{
public T Value;
public NodeInput(string name, T value)
: base(name)
{
this.Value = value;
}
}
当我还不知道什么是 T 时,如何在另一种方法中使用这些 类?这无法编译:
public createConnection(NodeOutput<T> output, NodeInput<T> input)
{
}
但这一个对于编译器来说很容易:虽然我完全不确定它是什么意思!
public Connection(NodeOutput<Type> output, NodeInput<Type> input)
{
}
在这个函数中,T 对我来说并不重要。我只需要将输出和输入保存在两个变量中。
您也可以将其他方法声明为通用方法:
public void CreateConnection<T>(NodeOutput<T> output, NodeInput<T> input)
{
}
我添加了一个 return 类型 void
(感谢 Dmitry Bychenko 指出这一点)。您可以将其更改为您需要的任何内容。
此外,请注意:这是 C#,而不是 Java。命名约定为大驼峰式。
尝试
public void createConnection<T>(NodeOutput<T> output, NodeInput<T> input)
{
}
假设我们有这些 类:
public class NodeOutput<T> : NodeData
{
public T Value;
public NodeOutput(string name, T value)
: base(name)
{
this.Value = value;
}
}
public class NodeInput<T> : NodeData
{
public T Value;
public NodeInput(string name, T value)
: base(name)
{
this.Value = value;
}
}
当我还不知道什么是 T 时,如何在另一种方法中使用这些 类?这无法编译:
public createConnection(NodeOutput<T> output, NodeInput<T> input)
{
}
但这一个对于编译器来说很容易:虽然我完全不确定它是什么意思!
public Connection(NodeOutput<Type> output, NodeInput<Type> input)
{
}
在这个函数中,T 对我来说并不重要。我只需要将输出和输入保存在两个变量中。
您也可以将其他方法声明为通用方法:
public void CreateConnection<T>(NodeOutput<T> output, NodeInput<T> input)
{
}
我添加了一个 return 类型 void
(感谢 Dmitry Bychenko 指出这一点)。您可以将其更改为您需要的任何内容。
此外,请注意:这是 C#,而不是 Java。命名约定为大驼峰式。
尝试
public void createConnection<T>(NodeOutput<T> output, NodeInput<T> input)
{
}