.net 如何在c+中实现IListSource接口+; 我想用C++实现IListSoad接口。它包含1个方法GetList()和一个名为ContainsListCollection的属性

.net 如何在c+中实现IListSource接口+; 我想用C++实现IListSoad接口。它包含1个方法GetList()和一个名为ContainsListCollection的属性,.net,c++-cli,.net,C++ Cli,如何执行此操作。如何在c++中将属性设置为false/true ref class ListSource : IListSource { static BindingList<String ^> ^list = gcnew BindingList<String ^>(); public: property bool ContainsListCollection { virtual bool get() = IListSource::ContainsListCo

如何执行此操作。如何在c++中将属性设置为false/true

ref class ListSource : IListSource

{

static BindingList<String ^> ^list = gcnew BindingList<String ^>();

public:

property bool ContainsListCollection

{

virtual bool get() = IListSource::ContainsListCollection::get

{

return true;

}

}

virtual IList^ GetList() = IListSource::GetList

{

return gcnew ArrayList();

}

};
ref class ListSource:IListSource
{
静态BindingList^list=gcnew BindingList();
公众:
属性bool ContainsListCollection
{
虚拟bool get()=IListSource::ContainsListCollection::get
{
返回true;
}
}
虚拟IList^GetList()=IListSource::GetList
{
返回gcnewarraylist();
}
};

这篇MSDN文章包含C#中IListSource的示例实现。从那以后,用C++:msdn.microsoft.com/en-us/library/system.componentmodel.ilistsource.aspx(因为我是新用户,所以在上面添加一个http://代码)来解决这个问题应该相当简单


看起来GetList()每次都应该返回一个新的IList。如果GetList()返回的IList是一个IList集合(how meta),那么ContainsListCollection应该设置为true,否则设置为false。

为什么要直接返回新的ArrayList而不是BindingList?这似乎是一个奇怪的选择。。。