Я конвертирую код 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;
}
}
}
Я прав в этом?