IronRuby.Builtins.RubyClass.ClassInheritedEvent C# (CSharp) Method

ClassInheritedEvent() private method

private ClassInheritedEvent ( RubyClass subClass ) : void
subClass RubyClass
return void
        internal void ClassInheritedEvent(RubyClass/*!*/ subClass) {
            if (_classInheritedCallbackSite == null) {
                Interlocked.CompareExchange(
                    ref _classInheritedCallbackSite,
                    CallSite<Func<CallSite, object, object, object>>.Create(RubyCallAction.Make(Context, Symbols.Inherited, RubyCallSignature.WithImplicitSelf(1)
                    )),
                    null
                );
            }

            _classInheritedCallbackSite.Target(_classInheritedCallbackSite, this, subClass);
        }