C# 获取卷序列号
我正在处理我的 HWID 代码。我最近尝试将此代码从 VB.net 转换为 C#。我有一个错误,我似乎无法弄清楚。
“dsk”是一个“变量”,但用作“方法”
这是我的代码
string returnString = null;
string systemDisk = Environment.GetEnvironmentVariable("windir", EnvironmentVariableTarget.Machine);
if (systemDisk != null)
{
ManagementObject dsk = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + systemDisk.Substring(0, 2) + "\"");
dsk.Get();
returnString = dsk("VolumeSerialNumber");
}
return returnString;
I am working on my HWID code. I recently tried converting this code from VB.net to C#. I have this one error which I can't seem to figure out.
'dsk' is a 'variable' but is used as a 'method'
Here is my code
string returnString = null;
string systemDisk = Environment.GetEnvironmentVariable("windir", EnvironmentVariableTarget.Machine);
if (systemDisk != null)
{
ManagementObject dsk = new ManagementObject("Win32_LogicalDisk.DeviceID=\"" + systemDisk.Substring(0, 2) + "\"");
dsk.Get();
returnString = dsk("VolumeSerialNumber");
}
return returnString;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 C# 中,我们使用 [] 代替 () 作为索引器。 () 通常(总是?)用于调用方法/委托。
您需要将行更改
为
In c# we use [] for indexers instead of (). () Is usually (always?) used to call a method/delegate.
You need to change the line
to
dsk
必须实现索引,它使用与 VB.NET 中的方法调用相同的语法。但是,在 C# 中,它使用自己的语法 (var[index]
)。因此尝试这个:dsk
must implement indexing, which uses the same syntax as a method call in VB.NET. However, in C# it uses its own syntax (var[index]
). As such try this: