本文整理汇总了C#中Ruby.Runtime.Frame.lastClass方法的典型用法代码示例。如果您正苦于以下问题:C# Frame.lastClass方法的具体用法?C# Frame.lastClass怎么用?C# Frame.lastClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ruby.Runtime.Frame
的用法示例。
在下文中一共展示了Frame.lastClass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindMethodForClass
internal static RubyMethod FindMethodForClass(Class klass, Receiver receiverStyle, Frame caller, string methodId, out Class origin) {
RubyMethod method;
if (klass == null) {
origin = null;
return null;
}
if (klass.get_method(methodId, out method, out origin) && method != null) {
if (method is MethodAlias)
origin = method.definingClass;
if (method.access == Access.Private && receiverStyle == Receiver.Explicit) {
if (caller != null)
caller.call_status = CallStatus.Private;
return null;
}
if (method.access == Access.Protected && receiverStyle == Receiver.Explicit) {
Class outerScope = Ruby.Runtime.Init.rb_cObject;
if (caller != null) {
//Class[] nesting = caller.nesting();
//if (nesting != null && nesting.Length > 0)
// outerScope = nesting[0];
outerScope = caller.lastClass();
}
if (!outerScope.is_kind_of(method.definingClass)) {
if (caller != null)
caller.call_status = CallStatus.Protected;
return null;
}
}
return method;
} else {
return null;
}
}