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


C# IReflect.ToString方法代码示例

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


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

示例1: BuildLoggerInjectors

        private IEnumerable<Action<IComponentContext, object>> BuildLoggerInjectors(IReflect componentType)
        {
            //寻找类型为 "ILogger" 并且具有set方法的属性。
            var loggerProperties = componentType
                .GetProperties(BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.Instance)
                .Select(p => new
                {
                    PropertyInfo = p,
                    p.PropertyType,
                    IndexParameters = p.GetIndexParameters(),
                    Accessors = p.GetAccessors(false)
                })
                .Where(x => x.PropertyType == typeof(ILogger)) //必须是一个日志记录器
                .Where(x => !x.IndexParameters.Any()) //没有索引器
                .Where(x => x.Accessors.Length != 1 || x.Accessors[0].ReturnType == typeof(void)); //必须具有set方法。

            return loggerProperties.Select(entry => entry.PropertyInfo).Select(propertyInfo => (Action<IComponentContext, object>)((ctx, instance) =>
            {
                var component = componentType.ToString();
                var logger = _loggerCache.GetOrAdd(component, key => ctx.Resolve<ILogger>(new TypedParameter(typeof(Type), componentType)));
                propertyInfo.SetValue(instance, logger, null);
            }));
        }
开发者ID:l1183479157,项目名称:RabbitHub,代码行数:23,代码来源:LoggingModule.cs

示例2: ToTypeName

 internal static String ToTypeName(IReflect ir){
   if (ir is ClassScope)
     return ((ClassScope)ir).GetName();
   else if (ir is JSObject)
     return ((JSObject)ir).GetClassName();
   else if (ir is GlobalScope)
     return "Global Object";
   else{
     Debug.Assert(ir is Type || ir is TypedArray);
     return ir.ToString();
   }
 }
开发者ID:ArildF,项目名称:masters,代码行数:12,代码来源:convert.cs

示例3: ToTypeName

 internal static string ToTypeName(IReflect ir)
 {
     if (ir is ClassScope)
     {
         return ((ClassScope) ir).GetName();
     }
     if (ir is JSObject)
     {
         return ((JSObject) ir).GetClassName();
     }
     if (ir is GlobalScope)
     {
         return "Global Object";
     }
     return ir.ToString();
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:16,代码来源:Convert.cs


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