代码之家  ›  专栏  ›  技术社区  ›  AAA

使用雄蕊在网络内部循环

  •  0
  • AAA  · 技术社区  · 2 年前

    我有这个代码

    public static void AddMeter(List<string> meter)
    {
        using MeterProvider meterProvider = Sdk.CreateMeterProviderBuilder()
                .AddMeter("Meter.Errors")
                .AddMeter("Meter.Prompts")
                .AddPrometheusHttpListener(options => options.UriPrefixes = new string[] { "http://*:9184/" })
                .Build();
    }
    

    我想做的是通过迭代添加米(.AddMeter())。

    这样的事情;

    using MeterProvider meterProvider = Sdk.CreateMeterProviderBuilder()
            foreach (var meter in meters)
            {
                .AddMeter(meter)
            }
            .AddPrometheusHttpListener(options => options.UriPrefixes = new string[] { "http://*:9184/" })
            .Build();
    

    什么是正确的synax?

    1 回复  |  直到 2 年前
        1
  •  2
  •   David    2 年前

    你的意思是这样的吗?:

    var builder = Sdk.CreateMeterProviderBuilder();
    foreach (var meter in meters)
    {
        builder = builder.AddMeter(meter);
    }
    using MeterProvider meterProvider = builder
        .AddPrometheusHttpListener(options => options.UriPrefixes = new string[] { "http://*:9184/" })
        .Build();
    

    基本上,您只需存储的结果 Sdk.CreateMeterProviderBuilder() 在变量中,调用 .AddMeter() 在循环中更新该变量,然后对该变量的结果调用所需的其余部分。像这样的流体API的语法没有什么特别的,每个方法都只是返回相同的更新对象,这些对象可以像其他方法一样存储在变量中。

    推荐文章