传递变量时的 C# 构造函数设计可能是两种类型之一

标签 c# class constructor

我的类的构造函数传递了三个变量:

public MyClass(int Id, String Name, DateTime StartDate)

但是,StartDate 可能会作为 StringDateTime 对象传递到变量中。

我是否应该创建两个不同的构造函数,一个为 StartDate 指定 DateTime,另一个为 String?或者,我应该创建类型 Dynamic 并在运行时确定它是什么然后处理它吗?我问是因为我的类(class)有五个日期,如果我要为每个不同的组合编写构造函数,那将是太多的代码。

最佳答案

你应该让调用者的类型更强而不是 "stringly" typed .

创建一个包含 5 个日期的构造函数,并强制调用者做正确的事情。这似乎比 25 个都必须做正确事情的构造函数要理智得多。

关于传递变量时的 C# 构造函数设计可能是两种类型之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11654679/

相关文章:

c++ - 如何使用相同的参数构造嵌套类模板的对象?

c# - 如何将 mp3 流/响应传递给 Controller ​​查看?

c# - 使用虚拟数据创建 DataTable 对象

c# - 如何在 C# 中更新字典中键的值?

java - 如何将一个类的 main 方法中定义的变量转移到另一个类的 main 方法中?

c++ - 游戏实体更新方法

c++ - 使用另一个对象作为构造函数中的参数创建一个对象

c# - 将桌面应用程序分离为客户端-服务器应用程序

java - 说关键字 "private"在类级别是私有(private)的是什么意思?

c++ - std::vector、构造函数、对象