gpt4 book ai didi

c# - C++ CLI 句柄类型

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:36 29 4
gpt4 key购买 nike

在以下代码中获取非句柄类型的合适方法是什么:

template <typename Type> ref class SuperClass
{
public:
void Method()
{
Type x = gcnew ???? (...);
// I want it to be instantiated into 'String^ x = gcnew String(...).
// Is there a way to "dereference" the handle type in C++ \ CLI ?
}
};

SuperClass<String^> superClass;
superClass.Method(); // <---- Won't compile

此外,句柄类型作为模板参数的使用是强制性的(这是更大示例的一部分,我不能简单地将模板类型更改为String 而不是 String^)。

最佳答案

gcnew 总是返回句柄 (^)。
所以这里是你可以尝试的东西。不确定它是否真的满足您的需求 -

<罢工> 模板引用类父类(super class) { 民众: 无效方法() { 输入 ^ x = gcnew Type("Hello"); } };

<罢工>
SuperClass<String> superClass;
superClass.Method();

<罢工>

template <typename Type> ref class SuperClass
{
public:
void Method()
{
Type x = "Hello";
}
};

SuperClass<String^> superClass;
superClass.Method();

关于c# - C++ CLI 句柄类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942559/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com