Windows运行时组件不可能inheritance?

场景:
我在Windows运行时组件项目中有3个类(A,B,C)。

class A{} public sealed class B : A {} public sealed class C : A {} 

在编译上面的代码时,我得到以下错误

“不一致的可访问性:基类”A“不如”C“类可访问。”

如果我让A类公开,它会给出一个编译错误

“不支持导出未密封types,请将types'MyProject.A'标记为密封。”

但是现在,如果我把A封闭起来,那么B和C就不能inheritance。

考虑到只有WinRTtypes被允许inheritance,是否可以使用自定义/用户定义的类inheritance? 如果没有,是否有任何解决方法实现相同?

Solutions Collecting From Web of "Windows运行时组件不可能inheritance?"

正如你自己想的那样,你不能在Windows运行时组件中公开从别人那里继承的类; 即使您尝试将抽象类用作父类,情况也是如此。 这是使WinRT组件与WinRT框架支持的所有其他语言一起工作所需的“缺点”。 解决这个问题的唯一方法是避免继承。 您只能使用接口或对象组合来模拟继承行为,例如:

 public sealed class A { public void Method() { } } public sealed class B { A a; public void Method() { // Do B stuff // Call fake "virtual" method a.Method(); } }