我尝试使用谷歌搜索功能,并在该站点上使用他的搜索功能,但找不到任何答案可以回答我的问题。

在vb中,如果想要一种从我的一个类转换为另一个自定义类的简便方法,我可以定义CType运算符以定义如何从一个类转换为另一个类。然后,我可以调用CType( fromObject, toNewType)进行转换,或者在c#中我想您可以进行简单的转换。

但是,在c#中,您如何定义如何将实际的转换从一个自定义类转换到另一个自定义类,再到另一个自定义类(就像在vb中使用CType运算符一样)。

最佳答案

您可以使用explicit关键字定义自定义强制类型转换:

public static explicit operator TargetClass(SourceClass sc)
{
    return new TargetClass(...)
}


...但考虑不这样做。它将使那些不得不一直维护您的软件的人们感到困惑。相反,只需为目标类定义一个构造函数,并以源类的实例作为参数即可:

public TargetClass(SourceClass sc)
{
    // your conversions
}

09-27 19:41