Beispiel #1
0
        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));
        }