F # Mesela biz YapabileceğimF # kopya ve güncelleme özelliğine C# dan erişebilir miyiz?
type MyRecord = {
X: int;
Y: int;
Z: int
}
let myRecord1 = { X = 1; Y = 2; Z = 3; }
tanımlayabilir ve güncelleştirmek için
parlak ve kayıtlar otomatik fazladan hiçbir çaba IStructuralEquality uygulamak gerçeği beni bunun için dilek yaparlet myRecord2 = { myRecord1 with Y = 100; Z = 2 }
C#. Ancak belki de kayıtlarımı F # olarak tanımlayabilirim ancak yine de C# 'da bazı güncellemeleri yapabilirim. Ben
MyRecord myRecord2 = myRecord
.CopyAndUpdate(p=>p.Y, 10)
.CopyAndUpdate(p=>p.Z, 2)
gibi bir API bir yolu var mı hayal ve ben yukarıdaki gibi CopyAndUpdate uygulamak, kirli kesmek sakıncası? CopyAndUpdate C# signiture
T CopyAndUpdate<T,P>
(this T
, Expression<Func<T,P>> selector
, P value
)
Belki bu yararlı olacaktır: http://v2matveev.blogspot.com/2010/05/copy-and-update-in-c.html – desco
[C#: olası bir uzantı yöntemini nasıl tanımlanır? "F #?" (http://stackoverflow.com/questions/6832880/c-how-to-define-an-extension-method-as-with-in-f) –