c# - methods() 应该放在哪里?

标签 c# function methods

我有一个演示脚本,它很好地展示了问题,所以我会展示脚本,然后提问。

class Program
{
    static void Main(string[] args)
    {
        Dog dog = new Dog() { Age = 4 };

        //This approach (version A)
        dog.DisplayDogYears();

        //Or this approach (version B)
        displayDogYears(dog);

        Console.ReadKey();
    }

    private static void displayDogYears(Dog d)
    {
        Console.WriteLine("The dog is {0} years old in human years.", d.Age * 7);
    }
}

public class Dog
{
    public int Age { get; set; }

    public void DisplayDogYears()
    {
        Console.WriteLine("The dog is {0} years old in human years.", Age * 7);
    }
}

有两种方法可以做同样的事情(方法 A 和 B)。就可伸缩性和可读代码而言,是否有任何理由更喜欢一种方法而不是另一种方法。我可以看到方法 A 的一个优点是该方法可用于 Dog 类的所有实例(非常好、可扩展、可重用和可维护,但是,在调试时它确实意味着我必须在不同的类之间移动(并且 VS 有跳转到不同的文件等),而不是只查看一个文件中的所有内容。

有什么想法吗?

戴夫

最佳答案

我更愿意在 Dog 类中有一个方法:

public int GetAgeInHumanYears()
{
    return Age*7;
}

并使用您喜欢的格式字符串从主函数调用此方法。

关于c# - methods() 应该放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11562063/

相关文章:

java - 订购 Java 方法的最常见方式是什么?

c# - 文字换行以适合一定比例(不是大小)的矩形

c# - 如何在 C# 中处理 C++ 定义?

ios - swift 中作为参数的闭包和函数之间的区别

javascript - 检查 JavaScript 类是否包含静态方法

Ruby - 从另一个方法中提取我的较小方法(将字符串转换为两个数字和一个符号)

c# - 从 ImageList 中获取的图像看起来与直接从资源中获取的图像不同

C# CSLA 业务对象困境 : read-only vs read/write

scala - 函数组合,累积中间结果

java - 在java中传递接口(interface)类型(不实现类类型)作为参数