我有代码,看起来像:
private static DirectiveNode CreateInstance(Type nodeType, DirectiveInfo info) {
var ctor = nodeType.GetConstructor(new[] { typeof(DirectiveInfo) });
if(ctor == null) {
throw new MissingMethodException(nodeType.FullName, "ctor");
}
var node = ctor.Invoke(new[] { info }) as DirectiveNode;
if(node == null) {
// ???;
}
return node;
}
我正在寻找当
Invoke
方法返回的内容不是
DirectiveNode
或者当它回来的时候
null
(表示为
// ???
以上)。
(根据方法合同,
nodeType
将始终描述的子类
直接节点
)
我不确定何时调用构造函数会返回
无效的
因此,我不确定是否应该处理任何事情,但我仍然希望站在安全的一边,并在出现问题时抛出异常。