public object GetStaticProperty(Type type, string propName)
{
if (char.IsLower(propName[0]))
{
bool exist;
var result = TryGetStaticField(type, propName, out exist);
if (exist)
return result;
result = TryGetStaticProperty(type, propName, out exist);
if (exist)
return result;
}
else
{
bool exist;
var result = TryGetStaticProperty(type, propName, out exist);
if (exist)
return result;
result = TryGetStaticField(type, propName, out exist);
if (exist)
return result;
}
bool instancePropExist;
var instanceResult = TryGetInstanceProperty(type, propName, out instancePropExist);
if (instancePropExist)
return instanceResult;
throw ErrorFactory.CreateClrError(string.Format("Cannot resolve static field or property {0} of type {1}", propName, type));
}