如何解决Visual Basic默认属性与C#属性
| 我正在将Visual Basic.Net代码转换为我的项目中的C#。但是我对如何将Visual Basic默认属性转换为C#存有疑问。我想到的第一个选择是索引器。让我们想象一下Visual Basic中的下一个代码Public Class MyClass
Dim MyHash as Hashtable
Public sub New()
MyHash = New Hashtable()
MyHash.Add(\"e1\",1)
MyHash.Add(\"e2\",2)
MyHash.Add(\"e3\",3)
End Sub
Defaul Propery MyDefProp(ByVal key as string) as Object
Get
Return MyHash(key)
End Get
Set(ByVal ObjectToStore As Object)
MyHash(key) = ObjectToStore
End Set
End Property
将此转换为C#:
public class MyClass
{
private Hashtable MyHash;
public MyClass()
{
MyHash = new Hashtable();
MyHash.Add(\"A1\",1);
MyHash.Add(\"A2\",2);
MyHash.Add(\"A3\",3);
}
public object this[string key]
{
get
{
return MyHash[key];
}
set
{
MyHash[key] = value;
}
}
}
我对此是否正确?
解决方法
你是对的。
唯一的区别是VB.Net版本还创建了一个命名的索引属性。 C#不支持命名索引属性。
, 尽管C#支持默认属性语法,但您的索引器将很好地满足这一需求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。