Luffy1
@Luffy1
Student, Junior .NET programmer, C#, JS, HTML/CSS

Зачем нужен binder или объект связывателя в общем?

Есть код:
using System.Dynamic;
 
class PersonObject : DynamicObject
{
    Dictionary<string, object> members = new Dictionary<string, object>();
 
    // установка свойства
    public override bool TrySetMember(SetMemberBinder binder, object value)
    {
        members[binder.Name] = value;
        return true;
    }
    // получение свойства
    public override bool TryGetMember(GetMemberBinder binder, out object result)
    {
        result = null;
        if (members.ContainsKey(binder.Name))
        {
            result = members[binder.Name];
            return true;
        }
        return false;
    }
    // вызов метода
    public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
    {
        dynamic method = members[binder.Name];
        result = method((int)args[0]);
        return result != null;
    }
}

Тут binder используется для обращения по имени к свойствам и методам. Так вот вопрос: кроме этого, он для чего-то ещё предназначен? Если да, то для чего? Где binder'ы можно использовать ещё, кроме работы с динамическими объектами?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Нет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы