假设我们有一个Could not drop object 'dbo.Bingo_Bonus' because it is referenced by a FOREIGN KEY constraint.
类:
NodeInput
我们有一个public class NodeInput
{
}
public sealed class NodeInput<T> : NodeInput
{
}
课程如下:
Node
我创建了具体的父类public abstract class Node
{
public Node()
{
var fieldInfos = GetType().GetRuntimeFields();
// loop through all NodeInputs using their concrete base type
foreach (var item in fieldInfos)
{
Type t = item.FieldType;
if (t.BaseType == typeof(NodeInput))
{
// Here I want to initialize each NodeInput field according to
// the T but I don't know what the T is here.
}
}
}
}
,因此无论NodeInput
参数类型如何,我都可以计算所有NodeInput<T>
。但我还需要T
来创建适当的对象并分配给循环中的每个字段。
对于以下代码中的示例T
,当我们创建对象时,应使用PointNode
启动所有NodeInput
字段:
default(T)
这可能吗?
答案 0 :(得分:0)
如果我理解你的话,你可以得到这样的节点泛型:
var genericType = item.FieldType.GenericTypeArguments[0];