I have made a conversion
That is a VB "parameterized property" - there is no direct C# equivalent. The closest equivalent in C# is to make it a regular method (which is called the same if the original parameterized property only has a 'get'):
public Ship GetShip(ShipName name)
{
if (name == ShipName.None)
return null;
else
return _Ships[name];
}
You should convert it to an accessor:
public Ship this[ShipName name]
{
get
{
if(name == ShipName.None)
{
return null;
}
return _Ships[name];
}
}