|
1
3
您可以创建任何类型的静态属性(guid、string等)。这样做的缺点是,所有API都围绕着您选择用来表示这些对象的任何底层类型旋转,尽管这很容易实现,但它有几个缺点。使用不透明类型(如guid)进行调试可能会更困难。调用者需要记住给定的常量在哪里(可能在某个助手类中),当这些常量的多个集合使用相同的基础类型时,可能会混淆它们。如果需要将其他信息附加到这些类型上,则通常必须通过查找关联数据的某个助手方法来完成。 但是,一个能够绕过这些缺点的设计并没有那么难实现。使用私有构造函数和一些表示所需对象的静态字段/属性创建一个类。
您还可以为ToString添加一个名称和/或重载,这样更便于调试。 如果您需要从guid或字符串转到cartypes,这需要做更多的工作,但是您可以很容易地使用反射来构建一个查找,从而为解析方法实现这一点。 这种设计的好处在于,您可以围绕程序域中的对象(例如Cartypes)编写API,并且在将来您可以有更多的选择来开发API。如果您需要在方法中添加更多的数据属性甚至行为,您可以这样做。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |