是否可以在 Windows 运行时的 Windows Phone 8 变体中创建其他公共 ref 类可以使用的基类?
对于 Windows 应用商店应用程序,MSDN 记录了执行此操作的方法(见下文)。
然而,这依赖于Windows::UI::Xaml::DependencyObject
作为允许的未密封基类。
由于 Windows Phone 8 没有 C++/XAML 编程能力,因此该类不可用。不允许创建在公共 ref 类中可见的顶级对象,因为这会发出编译器警告。
是否有另一个合适的基类可以在 Windows Phone 8 中使用来代替Windows::UI::Xaml::DependencyObject
?
namespace InheritanceTest2
{
namespace WFM = Windows::Foundation::Metadata;
// Base class. No public constructor.
[WFM::WebHostHidden]
public ref class Base : Windows::UI::Xaml::DependencyObject
// DependencyObject NOT AVAILABLE ON WP8!
{
internal:
Base(){}
protected:
virtual void DoSomething (){}
property Windows::UI::Xaml::DependencyProperty^ WidthProperty;
};
// Class intended for use by client code across ABI.
// Declared as sealed with public constructor.
public ref class MyPublicClass sealed : Base
{
public:
MyPublicClass(){}
//...
};
}