本文整理汇总了C#中FunctionObject.GetParamMod方法的典型用法代码示例。如果您正苦于以下问题:C# FunctionObject.GetParamMod方法的具体用法?C# FunctionObject.GetParamMod怎么用?C# FunctionObject.GetParamMod使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FunctionObject
的用法示例。
在下文中一共展示了FunctionObject.GetParamMod方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddApplicableMethod
internal void AddApplicableMethod(FunctionObject f, IntegerList a, IntegerList param_mod, int res_id, ref FunctionObject best, ref IntegerList applicable_list)
{
if (best == null) {
best = f;
}
if (((f.ParamCount <= a.Count) && ((f.ParamCount >= a.Count) || (f.ParamsId != 0))) && ((res_id == 0) || base.Scripter.MatchAssignment(f.ResultId, res_id))) {
best = f;
if (f.ParamCount == 0) {
applicable_list.Add(f.Id);
}
else {
bool flag = true;
for (int i = 0; i < a.Count; i++) {
int num2 = a[i];
int paramId = f.GetParamId(i);
flag = ((int)f.GetParamMod(i) == param_mod[i]);
if (!flag && !f.Imported) {
if (base.Scripter.code.GetLanguage(base.Scripter.code.n) != CSLite_Language.VB) {
break;
}
flag = true;
}
flag = base.Scripter.MatchAssignment(paramId, num2);
if (!flag) {
if (base.Scripter.code.GetLanguage(base.Scripter.code.n) == CSLite_Language.VB) {
int typeId = base.Scripter.symbol_table[paramId].TypeId;
int id = base.Scripter.symbol_table[num2].TypeId;
ClassObject classObject = base.Scripter.GetClassObject(typeId);
ClassObject obj3 = base.Scripter.GetClassObject(id);
flag = base.Scripter.MatchTypes(classObject, obj3);
}
if (!flag) {
break;
}
}
}
if (flag) {
applicable_list.Add(f.Id);
}
}
}
}