I got something strange into VB.NET, never notice before...
I have a class in VB.NET having a property with parameter and
Parameterised Properties are converted to get_
and set_
methods.
string name = "Foo";
string value = "Bar";
MyObject.set_AsString(name, value);
string fooValue = MyObject.get_AsString(name);
C# doesn't support indexed properties that don't have the Default keyword. You simple use get_AsString() to call the property getter and set_AsString() to call the setter. Methods, not properties. They should readily show up in the IntelliSense list.
Also note that set_AsString() requires two arguments even though you made the property setter non-indexed. Pass anything, null will do.
Fwiw, this is perhaps illustrative of why the C# team decided to not support indexed properties in the general case. The mismatch between the getter and the setter is painful. The vb.net team had no choice, Visual Basic had them long before .NET came around. It did make a partial comeback in C# version 4 though, indexed properties are supported on COM interfaces. COM interop programming is too painful without them. Particularly in the Office object model.
If u have noticed actually there are two parameters in your property one is your's name and other is the default value so u have to give two parameter value when u work with that