public static object GetProperty(this ScriptScope scope, object instance, string name, Type type) { var operations = scope.CreateOperations(); var mangledPropertyName = name.Mangle(); var unmangledPropertyName = name; object property = null; if (!operations.TryGetMember(instance, mangledPropertyName, out property)) { if (!operations.TryGetMember(instance, unmangledPropertyName.Mangle(), out property)) { throw new MemberAccessException("The property '" + name + "' is not defined"); } return(operations.GetMember(instance, unmangledPropertyName, type)); } return(operations.GetMember(instance, mangledPropertyName, type)); }