Показывать будильник Cloudwatch в Графане

Изменить: nameof прибыл в c # 6. Yay!


Нет nameof / infoof и т. д .; это много обсуждается, но это то, что оно есть.

Существует способ сделать это с использованием лямбда-выражений в .NET 3.5 (и разбора дерева выражений), но на самом деле это не стоит накладные расходы. На данный момент я просто придерживаюсь строк (и модульных тестов, если вы решили не разорвать его).


using System;
using System.ComponentModel;
using System.Linq.Expressions;
using System.Reflection;
class Program : INotifyPropertyChanged {
    public event PropertyChangedEventHandler PropertyChanged;
    static void Main() {
        var p = new Program();
        p.PropertyChanged += (s, a) => Console.WriteLine(a.PropertyName);
        p.Name = "abc";
    }
    protected void OnPropertyChanged<T>(Expression<Func<Program, T>> property) {
        MemberExpression me = property.Body as MemberExpression;
        if (me == null || me.Expression != property.Parameters[0]
              || me.Member.MemberType != MemberTypes.Property) {
            throw new InvalidOperationException(
                "Now tell me about the property");
        }
        var handler = PropertyChanged;
        if (handler != null) handler(this,
          new PropertyChangedEventArgs(me.Member.Name));
    }
    string name;
    public string Name {
        get{return name;}
        set {
            name = value;
            OnPropertyChanged(p=>p.Name);
        }
    }
}
0
задан parsley72 1 March 2019 в 21:38
поделиться

1 ответ

Нет, текущий код Grafana и текущий API CloudWatch не поддерживают его. Конечно, вы можете написать его самостоятельно.

0
ответ дан Jan Garaj 1 March 2019 в 21:38
поделиться