我的类的构造函数传递了三个变量:
public MyClass(int Id, String Name, DateTime StartDate)
但是,StartDate
可能会作为 String
或 DateTime
对象传递到变量中。
我是否应该创建两个不同的构造函数,一个为 StartDate
指定 DateTime
,另一个为 String
?或者,我应该创建类型 Dynamic
并在运行时确定它是什么然后处理它吗?我问是因为我的类(class)有五个日期,如果我要为每个不同的组合编写构造函数,那将是太多的代码。
最佳答案
你应该让调用者的类型更强而不是 "stringly" typed .
创建一个包含 5 个日期的构造函数,并强制调用者做正确的事情。这似乎比 25 个都必须做正确事情的构造函数要理智得多。
关于传递变量时的 C# 构造函数设计可能是两种类型之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11654679/