我有下面的代码。我得到一个我不知道其类型的对象。我必须检查三个 if 条件来检查它的类型,然后进行正确的转换。
有没有办法在运行时获取对象类型并进行强制转换,而不检查任何 if 条件?
我拥有的对象是requirementTemplate
,我必须使用多种类型对其进行检查以获取其类型,然后进行强制转换。
if (requirementTemplate.GetType() == typeof(SRS_Requirement))
{
((SRS_Requirement)((TreeNodeInfo)ParentTreeNode.Tag).Handle).AssociatedFeature = ((SRS_Requirement)requirementTemplate).AssociatedFeature;
}
else if (requirementTemplate.GetType() == typeof(CRF_Requirement))
{
((CRF_Requirement)((TreeNodeInfo)ParentTreeNode.Tag).Handle).AssociatedFeature = customAttr.saveAttributesCustomList(AttributesCustomListCloned);
}
else if (requirementTemplate.GetType() == typeof(SAT_TestCase))
{
((SAT_TestCase)((TreeNodeInfo)ParentTreeNode.Tag).Handle).AssociatedFeature = ((SAT_TestCase)requirementTemplate).AssociatedFeature;
}