F # имеет удобную функцию "with", например:
type Product = { Name:string; Price:int };;
let p = { Name="Test"; Price=42; };;
let p2 = { p with Name="Test2" };;
F # создало ключевое слово "with", поскольку типы записей по умолчанию неизменяемы.
Теперь, это можно ли определить подобное расширение в C #? кажется, это немного сложно, так как в C # я не уверен, как преобразовать строку
Name="Test2"
в делегат или выражение?