本文整理汇总了C#中IronRuby.Builtins.RubyModule.ResolveMethod方法的典型用法代码示例。如果您正苦于以下问题:C# RubyModule.ResolveMethod方法的具体用法?C# RubyModule.ResolveMethod怎么用?C# RubyModule.ResolveMethod使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IronRuby.Builtins.RubyModule
的用法示例。
在下文中一共展示了RubyModule.ResolveMethod方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PublicMethodDefined
public static bool PublicMethodDefined(RubyModule/*!*/ self, [DefaultProtocol]string/*!*/ methodName) {
RubyMemberInfo method = self.ResolveMethod(methodName, true);
return method != null && method.Visibility == RubyMethodVisibility.Public;
}
示例2: GetInstanceMethod
public static UnboundMethod/*!*/ GetInstanceMethod(RubyModule/*!*/ self, [DefaultProtocol]string/*!*/ methodName) {
RubyMemberInfo method = self.ResolveMethod(methodName, true);
if (method == null) {
throw RubyExceptions.CreateUndefinedMethodError(self, methodName);
}
// unbound method binable to any class with "self" mixin:
return new UnboundMethod(self, methodName, method);
}
示例3: GetInstanceMethod
public static UnboundMethod/*!*/ GetInstanceMethod(RubyModule/*!*/ self, [DefaultProtocol, NotNull]string/*!*/ methodName) {
RubyMemberInfo method = self.ResolveMethod(methodName, VisibilityContext.AllVisible).Info;
if (method == null) {
throw RubyExceptions.CreateUndefinedMethodError(self, methodName);
}
RubyModule constraint = self;
if (self.IsSingletonClass && method.DeclaringModule != self) {
constraint = ((RubyClass)self).SuperClass;
}
// unbound method binable to any class with "constraint" mixin:
return new UnboundMethod(constraint, methodName, method);
}
示例4: UndefineMethod
public static RubyModule/*!*/ UndefineMethod(RubyModule/*!*/ self, [DefaultProtocol]string/*!*/ methodName) {
RubyMemberInfo method = self.ResolveMethod(methodName, true);
if (method == null) {
throw RubyExceptions.CreateUndefinedMethodError(self, methodName);
}
self.UndefineMethod(methodName);
return self;
}
示例5: PublicMethodDefined
public static bool PublicMethodDefined(RubyModule/*!*/ self, [DefaultProtocol, NotNull]string/*!*/ methodName) {
RubyMemberInfo method = self.ResolveMethod(methodName, VisibilityContext.AllVisible).Info;
return method != null && method.Visibility == RubyMethodVisibility.Public;
}
示例6: UndefineMethod
public static RubyModule/*!*/ UndefineMethod(RubyModule/*!*/ self, [DefaultProtocol, NotNull]string/*!*/ methodName) {
if (!self.ResolveMethod(methodName, VisibilityContext.AllVisible).Found) {
throw RubyExceptions.CreateUndefinedMethodError(self, methodName);
}
self.UndefineMethod(methodName);
return self;
}
示例7: ProtectedMethodDefined
public static bool ProtectedMethodDefined(RubyModule/*!*/ self, [DefaultProtocol, NotNull]string/*!*/ methodName) {
RubyMemberInfo method = self.ResolveMethod(methodName, RubyClass.IgnoreVisibility).Info;
return method != null && method.Visibility == RubyMethodVisibility.Protected;
}
示例8: UndefineMethod
public static RubyModule/*!*/ UndefineMethod(RubyModule/*!*/ self, [DefaultProtocol]string/*!*/ methodName) {
if (!self.ResolveMethod(methodName, true).Found) {
throw RubyExceptions.CreateUndefinedMethodError(self, methodName);
}
self.UndefineMethod(methodName);
return self;
}
示例9: UndefineMethod
public static RubyModule UndefineMethod(RubyModule/*!*/ self, [DefaultProtocol, NotNullItems]params string[]/*!*/ methodNames)
{
foreach (var methodName in methodNames) {
if (!self.ResolveMethod(methodName, VisibilityContext.AllVisible).Found) {
throw RubyExceptions.CreateUndefinedMethodError(self, methodName);
}
self.UndefineMethod(methodName);
}
return self;
}