假设我有一个定义以下抽象类的C#项目:
public abstract class MyAbstractClass
{
public abstract void DoIt(string param);
}
然后我可以在C ++ / CLR中实现它
public ref class MyDerivedClass : public MyAbstractClass
{
public:
void DoIt(String^ param)
{
}
};
如果答案是NO, You can't do that
,是否可以使用界面进行操作?
答案 0 :(得分:1)
是的,C ++ / CLI托管类型可以继承C#类并实现C#接口,包括重载虚拟方法。这就是普通类型系统的重点。
如果它不适合你,即使在仔细注意编译器错误之后,也要问一个新问题,显示失败的特定代码和确切的编译器错误消息。
答案 1 :(得分:0)
C ++ / CLI编译器不接受处理来自其他语言的语法和表达语法。因此,要使C#代码与它们一起使用,需要代码转换。这种转换产生了从它们自己的编译器编译的符号(即导出的函数,类,数据等),这些符号可以被输入到C ++中。为了构建这样的符号,还要考虑目标平台或机器。有几个工具和库可以帮助人们弥合语言之间的差距。然而,在系统之间移植所产生的资源(Windows vs Mac vs Linux等)并不像人们希望的那样顺利,特别是当原始代码库的大小非常大时。