IronRuby.Builtins.RubyModule.ExpandMixinsNoLock C# (CSharp) Метод

ExpandMixinsNoLock() публичный статический Метод

public static ExpandMixinsNoLock ( RubyClass superClass, RubyModule modules ) : IronRuby.Builtins.RubyModule[]
superClass RubyClass
modules RubyModule
Результат IronRuby.Builtins.RubyModule[]
        public static RubyModule[]/*!*/ ExpandMixinsNoLock(RubyClass superClass, RubyModule/*!*/[]/*!*/ modules) {
            return ExpandMixinsNoLock(superClass, EmptyArray, modules);
        }

Same methods

RubyModule::ExpandMixinsNoLock ( RubyClass superClass, RubyModule existing, IList added ) : IronRuby.Builtins.RubyModule[]
RubyModule::ExpandMixinsNoLock ( RubyClass superClass, List existing, int index, IList added, bool recursive ) : int

Usage Example

Пример #1
0
        protected object /*!*/ DefineSingleton(Action <RubyModule> instanceTrait, Action <RubyModule> classTrait, Action <RubyModule> constantsInitializer,
                                               params RubyModule /*!*/[] /*!*/ mixins)
        {
            Assert.NotNullItems(mixins);
            Debug.Assert(_context.ObjectClass != null);

            RubyModule[] expandedMixins;
            using (_context.ClassHierarchyLocker()) {
                expandedMixins = RubyModule.ExpandMixinsNoLock(_context.ObjectClass, mixins);
            }

            object result = new RubyObject(_context.ObjectClass);

            _context.GetOrCreateInstanceSingleton(result, instanceTrait, classTrait, constantsInitializer, expandedMixins);

            return(result);
        }
RubyModule