0
我有C++/CLI代码,它看起来像:访问通用的成员变量抛出编译错误
interface class Type
{
};
public ref class Type1 : Type
{
public:
double a;
};
public ref class Type2 : Type
{
public:
double b;
};
generic <typename T> where T:Type
array<T>^ TestClass::TestFunction()
{
array<T>^ result = gcnew array<T>(1);
result[0].b = 10.0;
return result;
}
Type1
和Type2
没有任何共同之处,所以我没有保存在Type
什么来实现。它只是为了泛型语法的目的,我创建了Type
。
当我尝试使用Type1
或Type2
,其成员a
& b
不能访问调用TestFunction
。编译器说,a
或b
不是Type
的成员。编译器说,a
或b
不是Type
的成员。
你能告诉我我在这里做什么错吗?
我得到了你的答案,但仍然没有解决我的问题。让我提出我的要求:我有2个结构没有任何共同之处,这些结构将用于泛型函数(作为泛型参数),并且将由C#客户端调用。我是否遵循使用泛型的正确方法,或者我应该避免泛型寻找其他类型的解决方案,比如声明单独的API? – Nipun
这听起来确实听起来不像你有一个使它通用的镜头。 –