c# - 类型转换自定义类型

标签 c#

我正在研究一个自定义结构,我想赋予它从另一种类型隐式创建的能力。

假设我有两种结构类型。 Color 和 ColorX,其中 Color 是我无法更改的框架中已有的结构。

使用隐式运算符,例如可以说。

Color C;
ColorX CX;
CX = new ColorX();
C = CX;

但是,我也希望能够以相反的方式进行。要么直接设置它,要么进行类型转换。能够做到这两点将是黄金。例如。

C = new Color();
CX = C;

或者像这样转换它:

CX = (ColorX)C;

考虑 C# 中所有其他有用的运算符,我确信有办法做到这一点,只是找不到语法。

非常感谢任何帮助!非常感谢。

最佳答案

您可以使用 implicit operator 执行此操作在 C# 中:

public static implicit operator ColorX(Color original)
{
     return new ColorX(original);
}

关于c# - 类型转换自定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969425/

相关文章:

c# - 使用 API 管理 i18n 的最佳做法是什么?

c# - 使用 MVC ValidationAttribute 进行 Autofac 属性注入(inject)

c# - 是否有一种内置方法可以将多个文件作为一个流处理?

c# - 用于检测 ISO 语言代码的正则表达式

c# - 在属性更改启动长期运行任务中填充另一个属性

c# - 从 SSIS 2012 脚本组件中的 PipelineBuffer 获取列名称

c# - 如何在本地调试由EventGrid触发的Azure Function?

c# - 如何确保 List<String> 只包含序列中的每个字符串一次

c# - 学习单声道源代码

c# 泛型类和方法未按预期运行