当前位置: 首页>>代码示例>>C#>>正文


C# IInvocation.ThrowIfNull方法代码示例

本文整理汇总了C#中IInvocation.ThrowIfNull方法的典型用法代码示例。如果您正苦于以下问题:C# IInvocation.ThrowIfNull方法的具体用法?C# IInvocation.ThrowIfNull怎么用?C# IInvocation.ThrowIfNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IInvocation的用法示例。


在下文中一共展示了IInvocation.ThrowIfNull方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Intercept

        public virtual void Intercept(IInvocation invocation)
        {
            invocation.ThrowIfNull("invocation", "Parameter cannot be null.");

            if (LogAggregator == null)
                return;

            StringBuilder sb = new StringBuilder();
            sb.Append("Action: before method executes, ");
            sb.Append(string.Format("Method name {0}{1}", invocation.MethodInvocationTarget.Name, Environment.NewLine));

            if (invocation.Arguments != null && invocation.Arguments.Length > 0)
            {
                var parameters = invocation.MethodInvocationTarget.GetParameters();
                for (int i = 0; i < parameters.Length; i++)
                {
                    sb.AppendLine(string.Format("Parameter name: {0}, value: {1}", parameters[i].Name, invocation.Arguments[i]));
                }
            }
            else
                sb.AppendLine("Method is parameterless.");

            if (invocation.ReturnValueType != typeof(void))
                sb.AppendLine(string.Format("Return type is {0}", invocation.ReturnValue));

            LogAggregator.DoLog(Logging.LogSeverity.Info, sb.ToString(), null);
            sb.Clear();
        }
开发者ID:OleksandrKulchytskyi,项目名称:Sharedeployed,代码行数:28,代码来源:BeforeMethodExecutesInterceptor.cs

示例2: Intercept

 public virtual void Intercept(IInvocation invocation)
 {
     invocation.ThrowIfNull("invocation", "Parameter cannot be null.");
     ProceesException(invocation);
 }
开发者ID:OleksandrKulchytskyi,项目名称:Sharedeployed,代码行数:5,代码来源:ExceptionInterceptor.cs


注:本文中的IInvocation.ThrowIfNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。