本文整理汇总了C#中BlockParam.MultipleValuesForBlockParameterWarning方法的典型用法代码示例。如果您正苦于以下问题:C# BlockParam.MultipleValuesForBlockParameterWarning方法的具体用法?C# BlockParam.MultipleValuesForBlockParameterWarning怎么用?C# BlockParam.MultipleValuesForBlockParameterWarning使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockParam
的用法示例。
在下文中一共展示了BlockParam.MultipleValuesForBlockParameterWarning方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InvokeSplatInternal
private object InvokeSplatInternal(BlockParam/*!*/ param, object self, RubyArray/*!*/ array, object splattee) {
Debug.Assert(array.Count >= 2);
RubyOps.SplatAppend(array, splattee);
if (!HasSingleCompoundParameter) {
param.MultipleValuesForBlockParameterWarning(array.Count);
}
return _block(param, self, array);
}
示例2: InvokeSplatRhs
// R(N, *, =)
public override object InvokeSplatRhs(BlockParam/*!*/ param, object self, object[]/*!*/ args, object splattee, object rhs) {
var array = new RubyArray(args);
RubyOps.SplatAppend(array, splattee);
array.Add(rhs);
if (array.Count == 1) {
return _block(param, self, rhs);
}
Debug.Assert(array.Count >= 2);
if (!HasSingleCompoundParameter) {
param.MultipleValuesForBlockParameterWarning(array.Count);
}
return _block(param, self, array);
}
示例3: InvokeSplat
// R(1, *)
public override object InvokeSplat(BlockParam/*!*/ param, object self, object arg1, object splattee) {
var list = splattee as IList;
if (list == null) {
if (!HasSingleCompoundParameter) {
param.MultipleValuesForBlockParameterWarning(2);
}
arg1 = RubyOps.MakeArray2(arg1, splattee);
} else if (list.Count > 0) {
var array = RubyOps.MakeArray1(arg1);
array.AddRange(list);
arg1 = array;
if (!HasSingleCompoundParameter) {
param.MultipleValuesForBlockParameterWarning(array.Count);
}
}
return _block(param, self, arg1);
}
示例4: Invoke
// R(N, -)
public override object Invoke(BlockParam/*!*/ param, object self, object[]/*!*/ args) {
Debug.Assert(args.Length > MaxBlockArity);
if (!HasSingleCompoundParameter) {
param.MultipleValuesForBlockParameterWarning(args.Length);
}
return _block(param, self, RubyOps.MakeArrayN(args));
}