当前位置:  开发笔记 > Android > 正文

这是一种无用的铸造吗?

如何解决《这是一种无用的铸造吗?》经验,为你挑选了1个好方法。

这个问题是我提出的上一个问题的延伸(并得到了解答).我正在重构我的代码,并尝试使用各种重构的解决方案.

我提出的解决方案之一(但不满意......记住,我只是尝试一些个人编码风格)wsa以下代码: -

if (data is ITagElement)
{
    if (((ITagElement) data).TagList.IsNullOrEmpty())
    {
        ((ITagElement) data).TagList = new List();
    }

    ((ITagElement) data).TagList.Add(new Tag
    {
        K = xmlReader.GetAttribute("k"),
         V = xmlReader.GetAttribute("v")
    });
}

请注意我是如何将父对象强制转换data为多次触发的接口类型?代码有效,但我觉得这是代码味道 - >它不是很有效.我觉得这可以改进 - 来自任何一个大师的想法吗?



1> Tim Merrifie..:

那怎么样,所以你只做了一次演员:

ITagElement someData = data as ITagElement
if (someData != null)
{
   if (someData.TagList.IsNullOrEmpty())
    {
        someData.TagList = new List();
    }

    someData.TagList.Add(new Tag
    {
        K = xmlReader.GetAttribute("k"),
         V = xmlReader.GetAttribute("v")
    });

}

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有