本文整理汇总了C#中System.Dynamic.DynamicMetaObjectBinder.Throw方法的典型用法代码示例。如果您正苦于以下问题:C# DynamicMetaObjectBinder.Throw方法的具体用法?C# DynamicMetaObjectBinder.Throw怎么用?C# DynamicMetaObjectBinder.Throw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Dynamic.DynamicMetaObjectBinder
的用法示例。
在下文中一共展示了DynamicMetaObjectBinder.Throw方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TypeError
/*!*/
public static DynamicMetaObject TypeError(DynamicMetaObjectBinder/*!*/ action, string message, params DynamicMetaObject[] types)
{
if (action is ITotemSite)
{
ITotemSite site = (ITotemSite)action;
message = String.Format(message, ArrayUtils.ConvertAll(types, x => {
var t = site.Context.GetTypeHandler(x.LimitType);
if (t != null)
return t.Name;
return x.LimitType.Name;
}));
Expression error = action.Throw(
Ast.Call(
AstMethods.SimpleTypeError,
Ast.Constant(message)
),
typeof(object)
);
return new DynamicMetaObject(
error,
BindingRestrictions.Combine(types)
);
}
return GenericFallback(action, types);
}
示例2: GetCallError
private static Expression/*!*/ GetCallError(DynamicMetaObjectBinder binder, DynamicMetaObject/*!*/ self) {
Assert.NotNull(self);
return binder.Throw(
Ast.Call(
typeof(PythonOps).GetMethod("UncallableError"),
AstUtils.Convert(self.Expression, typeof(object))
)
);
}