ForEachClassVariable() public method

public ForEachClassVariable ( bool inherited, Func action ) : void
inherited bool
action Func
return void
示例#1
0
        public static RubyArray /*!*/ ClassVariables(RubyModule /*!*/ self)
        {
            var visited = new Dictionary <string, bool>();
            var result  = new RubyArray();

            self.ForEachClassVariable(true, delegate(RubyModule /*!*/ module, string name, object value) {
                if (name != null && !visited.ContainsKey(name))
                {
                    result.Add(MutableString.Create(name));
                    visited.Add(name, true);
                }
                return(false);
            });
            return(result);
        }
示例#2
0
        public static RubyArray /*!*/ ClassVariables(RubyModule /*!*/ self)
        {
            var visited = new Dictionary <string, bool>();
            var result  = new RubyArray();

            using (self.Context.ClassHierarchyLocker()) {
                self.ForEachClassVariable(true, delegate(RubyModule /*!*/ module, string name, object value) {
                    if (name != null && !visited.ContainsKey(name))
                    {
                        result.Add(self.Context.StringifyIdentifier(name));
                        visited.Add(name, true);
                    }
                    return(false);
                });
            }
            return(result);
        }
示例#3
0
        public static RubyArray/*!*/ ClassVariables(RubyModule/*!*/ self) {
            var visited = new Dictionary<string, bool>();
            var result = new RubyArray();

            self.ForEachClassVariable(true, delegate(RubyModule/*!*/ module, string name, object value) {
                if (name != null && !visited.ContainsKey(name)) {
                    result.Add(MutableString.Create(name));
                    visited.Add(name, true);
                }
                return false;
            });
            return result;
        }
示例#4
0
        public static RubyArray/*!*/ ClassVariables(RubyModule/*!*/ self) {
            var visited = new Dictionary<string, bool>();
            var result = new RubyArray();

            using (self.Context.ClassHierarchyLocker()) {
                self.ForEachClassVariable(true, delegate(RubyModule/*!*/ module, string name, object value) {
                    if (name != null && !visited.ContainsKey(name)) {
                        // TODO (encoding):
                        result.Add(MutableString.Create(name, RubyEncoding.UTF8));
                        visited.Add(name, true);
                    }
                    return false;
                });
            }
            return result;
        }