您好在第二行尝试从对象转换为String数组时,它将编译时错误显示为
'System :: String ^':本机数组不能包含此托管类型
'初始化':无法从'System :: String ^'转换为'System :: String ^ []'
码
RegistryKey ^rk = Registry::LocalMachine->OpenSubKey("SOFTWARE\\Microsoft\\Microsoft SQLServer");
String ^instances[] = (String^)rk->GetValue("InstalledInstances");
如何解决这个问题.... 提前谢谢。
答案 0 :(得分:1)
您将instances
声明为数组类型:
String ^instances[] = (String^)rk->GetValue("InstalledInstances");
相反,将其声明为字符串:
String ^instances = (String^)rk->GetValue("InstalledInstances");
答案 1 :(得分:0)
将最后一行更改为
String ^ instances = (String^)rk->GetValue("InstalledInstances");
(注意没有括号)。如果密钥包含多字符串,请使用
array<String^>^ instances
= (array<String^>^)rk->GetValue("InstalledInstances");
有关详细信息,请参阅documentation for RegistryKey.GetValue。