这是我的代码的一部分:
kubectl -n my-process-namespace exec -it my-process-pod-name my_process_start_command /my_root_work_folder/process_folder_y
如何通过类似
的方式减少代码if (domainNumberText == setting.NumberofDomains3AttributeValueId.ToString())
{
numberOfDomain = 3;
listOfDomain.Add(DomainHelper.ReturnAttrributeText(setting.Domain31AttributeId, attributeXml));
listOfDomain.Add(DomainHelper.ReturnAttrributeText(setting.Domain32AttributeId, attributeXml));
listOfDomain.Add(DomainHelper.ReturnAttrributeText(setting.Domain33AttributeId, attributeXml));
}
有可能吗?
答案 0 :(得分:0)
您可以使用反射来执行此操作,但可能更好的解决方案是将信息保存在字典中。
<强>反射强>
settings.GetType().GetProperty($"Domain{numberofDomain}{i}AttributeId").GetValue(settings) as string
答案 1 :(得分:0)
感谢您的帮助。我通过一些更改来做到这一点(不完全适用于第一个示例代码:)
for (int i = 1; i <= 5; i++){
var numberofDomainsXAttributeValueId = setting.GetType().GetProperty($"NumberofDomains{i}AttributeValueId")
?.GetValue(setting);
if (numberofDomainsXAttributeValueId != null
&& idOfNumberOfDomoinOrMulti == (int) numberofDomainsXAttributeValueId)
{
numberOfDomain = i;
break;
}
}