Насколько это медленно? INotifyPropertyChanged с использованием StackTrace

Сегодня я наткнулся на интересный метод реализации интерфейса INotifyPropertyChanged. Вместо передачи строкового имени измененного свойства или лямбда-выражения мы можем просто вызвать RaisePropertyChanged (); из установщика отметьте, что вызов не имеет параметров. Это код метода RaisePropertyChanged ():

public virtual void RaisePropertyChanged()
{
    var frames = new System.Diagnostics.StackTrace();
    for (var i = 0; i < frames.FrameCount; i++)
    {
        var frame = frames.GetFrame(i).GetMethod() as MethodInfo;
        if (frame != null)
            if (frame.IsSpecialName && frame.Name.StartsWith("set_"))
            {
                RaisePropertyChanged(frame.Name.Substring(4));
                return;
            }
    }
    throw new InvalidOperationException("NotifyPropertyChanged() can only by invoked within a property setter.");
}

И это свойство, которое будет уведомлять своих иждивенцев об изменении:

public string MyProperty
{
    get { return _myField; }
    set
    {
        _myField= value;
        RaisePropertyChanged();
    }
}

Хотя я считаю этот подход интересным, я думаю, что снижение производительности может быть серьезным в случае частого изменения свойства ... или если каждое свойство в нашем приложение использовало этот подход для уведомления о его изменении.

Я хотел бы услышать ваше мнение. (галочки вики-сообщества больше нет?) Я использую один и тот же закрытый ключ для каждой учетной записи пользователя. (потому что я ленив? или ...

Я использую закрытый ключ SSH и вход без пароля для ряда учетных записей пользователей на сервере, на котором размещено несколько веб-сайтов.

Я использую тот же закрытый ключ для каждая учетная запись пользователя. (потому что я ленив? или это «правильный» путь).

Теперь я хочу авторизовать другой доверенный компьютер в другой части страны. Если я скопирую содержимое моего ~ /. ssh на этой машине будет работать без какой-либо другой настройки?

Смогут ли обе машины поддерживать соединение одновременно?

23
задан Rich Bradshaw 23 December 2010 в 16:27
поделиться