I'm running into a problem. I'm a VB.net programmer and I'm trying to learn C#. On many VB projects that I have done I've always used a viewModelBase class where I can notify my properties over my project, when I try to convert the code from vb to C# I'm getting a method name expected on the line: if (TypeDescriptor.GetProperties(this)(propertyName) == null)
[Conditional("DEBUG"), DebuggerStepThrough()]
public void VerifyPropertyName(string propertyName)
{
if (TypeDescriptor.GetProperties(this)(propertyName) == null)
{
string msg = "Invalid property name: " + propertyName;
if (this.ThrowOnInvalidPropertyName)
{
throw new Exception(msg);
}
else
{
Debug.Fail(msg);
}
}
}
I really can't find any solution for this! Any help?
Thank you

It sounds like you're just missing the fact that indexer syntax in C# is [key]. I suspect you want:
if (TypeDescriptor.GetProperties(this)[propertyName] == null)
That's first calling the GetProperties method, to find the PropertyDescriptorCollection of all the properties of this... then it's using the indexer of PropertyDescriptorCollection to access a specific property by name.
See more on this question at Stackoverflow