Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的单元转换设计模式#_C#_Design Patterns_Dependency Injection_Loose Coupling_Unit Conversion - Fatal编程技术网

C# C语言中的单元转换设计模式#

C# C语言中的单元转换设计模式#,c#,design-patterns,dependency-injection,loose-coupling,unit-conversion,C#,Design Patterns,Dependency Injection,Loose Coupling,Unit Conversion,我需要在单位之间进行转换,每个单位有2个部分,其名称和一个整数,整数部分可以是正的或负的。我需要我的单元类具有依赖项注入和松散耦合。例如,如果我将来需要添加一些内容,我不想更改使用该类的其他类 在我的unit类中还应该有一个Convert()方法来在单元之间进行转换。我查看了以下链接: 但这些似乎是松散耦合的 请告诉我此问题的推荐设计模式,我将为方法创建一个自定义属性,指定方法可以转换的单位。然后,您的转换器函数可以从正在转换的项中提取单位,并使用反射来查找具有转换为/从这些单位转换的转

我需要在单位之间进行转换,每个单位有2个部分,其名称和一个整数,整数部分可以是正的或负的。我需要我的
单元
类具有依赖项注入和松散耦合。例如,如果我将来需要添加一些内容,我不想更改使用该类的其他类

在我的unit类中还应该有一个
Convert()
方法来在单元之间进行转换。我查看了以下链接:

但这些似乎是松散耦合的


请告诉我此问题的推荐设计模式,

我将为方法创建一个自定义属性,指定方法可以转换的单位。然后,您的转换器函数可以从正在转换的项中提取单位,并使用反射来查找具有转换为/从这些单位转换的转换方法的类

您确实需要一个核心度量单位,用于转换为/转换为方法。例如,选择公制,然后将所有转换转换为/从公制转换为/从第二个单位转换。然后从A单元转换到B单元,从A转换到公制,然后从公制转换到B,使用反射选择A和B转换器


当然,由于您没有在请求中提供太多细节,因此很难说清楚您到底想做什么,所以这是一个胡乱猜测的“设计”。)

两个链接都没有提到单位转换(类型转换完全不同)。你的单位类会有什么依赖关系?我正在寻找解决方案,我们实现单位时只需稍作更改,我们可以在不做大更改的情况下将单位类扩展到其他类。谢谢,例如,现在我有克和千克,但将来可能需要磅。我需要将这些单位一起转换,你有任何源代码的例子吗?我不喜欢遍历每个单元并定义新的转换。有人把策略设计模式放在这里,然后从这里删除。请让我知道任何设计模式