public object GetInstanceProperty(object target, string propName)
{
if (char.IsLower(propName[0]))
{
bool exist;
var result = TryGetInstanceField(target, propName, out exist);
if (exist)
return result;
result = TryGetInstanceProperty(target, propName, out exist);
if (exist)
return result;
}
else
{
bool exist;
var result = TryGetInstanceProperty(target, propName, out exist);
if (exist)
return result;
result = TryGetInstanceField(target, propName, out exist);
if (exist)
return result;
}
throw ErrorFactory.CreateClrError(string.Format("Cannot resolve field or property {0} of type {1}", propName, target.GetType()));
}