示例#1
0
        public static Dictionary <string, Delegate> GetInitialInstanceMethods(IInstanceClass instanceClass)
        {
            if (!RuntimeMemory.MemoryInstances.Contains(instanceClass))
            {
                RuntimeMemory.MemoryInstances.Add(instanceClass);
            }
            var type            = instanceClass.GetType();
            var instanceMethods = new Dictionary <string, Delegate>();

            if (RuntimeMemory.Methods.ContainsKey(type))
            {
                foreach (var instanceMethod in RuntimeMemory.Methods[type])
                {
                    instanceMethods.Add(Helper.GetMethodKey(instanceMethod.Method), instanceMethod.GetDelegate());
                }
            }

            return(instanceMethods);
        }
示例#2
0
        public static Dictionary <string, Delegate> GetInitialInstanceMethods(IInstanceClass instanceClass)
        {
            if (!instanceClasses.Contains(instanceClass))
            {
                instanceClasses.Add(instanceClass);
            }
            var type            = instanceClass.GetType();
            var instanceMethods = new Dictionary <string, Delegate>();

            if (PublicInstanceMethods.ContainsKey(type))
            {
                foreach (var instanceMethod in PublicInstanceMethods[type])
                {
                    instanceMethods.Add(instanceMethod.Key, instanceMethod.Value.Compile());
                }
            }

            return(instanceMethods);
        }