【问题标题】:Method overloading - good or bad design? [closed]方法重载——好还是坏的设计? [关闭]
【发布时间】:2010-08-27 06:10:37
【问题描述】:

我喜欢重载方法来支持越来越多的默认情况。方法重载对性能有何影响?根据您的经验,是否建议重载方法?极限是多少?有哪些解决方法?

【问题讨论】:

    标签: c# .net overloading


    【解决方案1】:

    重载对性能没有影响;它由编译器在编译时解析。

    关于设计指南,请参阅设计指南:

    http://msdn.microsoft.com/en-us/library/ms229029.aspx

    【讨论】:

      【解决方案2】:

      如果您使用的是 C# 4.0,您可以节省一些工作并使用 optional parameters

      【讨论】:

        【解决方案3】:
        1. 性能影响, 据我所知,这就像定义一种新方法。性能影响是硬盘空间。
        2. 建议重载方法, 当然,它提供了便利
        3. 限制是多少, 尽可能多的硬盘空间。

        【讨论】:

        • 不要忘记内存使用,因为方法会被 JITted ;-)
        【解决方案4】:

        除了性能之外,一旦有人开始维护代码,如果密集使用重载肯定会导致混乱,我更喜欢这样做:

        Person GetPersonByID( int id );
        Person GetPersonByName( String name );
        

        关于这个:

        Person GetPerson( int id );
        Person GetPerson( String name );
        

        【讨论】:

          猜你喜欢
          • 2011-05-04
          • 2015-08-17
          • 2015-10-29
          • 1970-01-01
          • 1970-01-01
          • 2010-09-05
          • 1970-01-01
          • 2010-11-12
          相关资源
          最近更新 更多