Учитывая tuple (int, string) v и класс C {int, string}, в С# 7, реализация C Deconstruct (out int k, out string v) позволит ff.:
C c = new C();
(int k, string v) = c;
Но обратное кажется неподдерживаемым, так что кортеж может быть "восстановлен" совместимому классу:
(int k, string v) vt = (1, "one");
C c = vt;
Я думаю, что он должен поддерживаться, если C имеет конструктор, который "соответствует" параметрам C Deconstruct():
class C
{
public C(int k, string v)
...
}
Возможно ли это? Доступный? Планируемый? Кажется, я ничего не могу найти. Или, возможно, повторно используемый код/трюк для "Восстановления"?