コード例 #1
0
 void ResolveCore(Type key, Diagnostics.IDiagnosticContext context, ICollection <Diagnostics.IDiagnostic> result)
 {
     resolutionTree[key].@Do(resolutions =>
     {
         foreach (var resolveFunc in resolutions)
         {
             resolveFunc(context).@Do(
                 diagnosticType =>
                 ResolveCore(diagnosticType)
                 .@Do(result.Add)
                 );
         }
     });
 }
コード例 #2
0
        //
        #region Resolve
        IEnumerable <Diagnostics.IDiagnostic> IConfiguration.Resolve(Diagnostics.IDiagnosticContext context)
        {
            var result = new List <Diagnostics.IDiagnostic>(4);

            context.@Do(ctx =>
            {
                ctx.Assembly.@Do(_ =>
                                 ResolveCore <Assembly>(ctx, result));
                ctx.Type.@Do(_ =>
                             ResolveCore <Type>(ctx, result));
                ctx.Member.@Do(_ =>
                               ResolveCore <MemberInfo>(ctx, result));
            });
            return(result);
        }
コード例 #3
0
 void ResolveCore <T>(Diagnostics.IDiagnosticContext context, ICollection <Diagnostics.IDiagnostic> result)
 {
     ResolveCore(typeof(T), context, result);
 }