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

2 c# constructor class

我的类的构造函数有三个传递给它的变量:

public MyClass(int Id, String Name, DateTime StartDate)
Run Code Online (Sandbox Code Playgroud)

但是,StartDate可能String作为DateTime对象或作为对象传递给变量.

我应该创建两个不同的构造一个指定DateTimeStartDate,一个作为String?或者,我应该Dynamic在运行时制作类型并确定它是什么并处理它吗?我问,因为我的班级有五个日期,如果我要为每个不同的组合编写构造函数,那将是太多的代码.

Joh*_*ner 6

您应该使调用者更强类型而不是"字符串"键入.

创建一个占用5个日期的构造函数,并强制调用者做正确的事情.这似乎比25个构造者更加理智,他们都必须做正确的事情.