{$reference 'Eto.dll'}
// Обязательно пользовательский тип для .BindDataContext
type t1 = class end;
begin
var tb := new Eto.Forms.TextBox;
// Если оба делегата задать переменными - компилируется норм
var get_text := function(o: t1): string -> 'asd';
var set_text := procedure(o: t1; s: string) -> begin end;
tb.TextBinding.BindDataContext&<t1>(get_text, set_text);
// Ну и так тоже работает
tb.TextBinding.BindDataContext(get_text, set_text);
// Чтобы была ошибка - хотя бы 1 из делегатов должен быть задан лямбдой
//Ошибка: Нельзя преобразовать тип Action<TObject,EventHandler<System.EventArgs>> к Action<t1,EventHandler<System.EventArgs>>
tb.TextBinding.BindDataContext&<t1>(o->'asd', (o,s)->begin end);
end.
0.zip
(
Eto.dll
в .zip)