这个问题是对我之前提出的问题的扩展(并得到了回答)。我正在重构我的代码,玩弄/试验各种重构的解决方案。
我想出的解决方案之一(但不满意..记住,我只是在尝试一些个人编码风格)是以下代码:-
if (data is ITagElement)
{
if (((ITagElement) data).TagList.IsNullOrEmpty())
{
((ITagElement) data).TagList = new List<Tag>();
}
((ITagElement) data).TagList.Add(new Tag
{
K = xmlReader.GetAttribute("k"),
V = xmlReader.GetAttribute("v")
});
}
请注意我如何将父对象data
转换为它多次暗示的接口类型?代码有效,但我觉得这是代码异味-> 效率不高。我觉得可以对此进行改进-那里有任何大师的想法吗?