2017-06-21 75 views
7

F # içinde, yapıcı parametreleri, alanın bildirimini yazmadan veya yapıcı parametresinin yapıcıya kopyalanmasını yazmadan, sınıfta otomatik olarak değiştirilemez alanlar olarak kaydedilir.C# yapıcı-parametreleri-otomatik olarak immutable-private-üye özelliği C# almak için bir yolu var mı?

Bu işlevselliği C# içine taklit etmenin bir yolu var mı? C# nin gelecekteki bir sürümünün bu özelliğe sahip olmamasının bir nedeni var mı (yani, bu özellik ile çakışan mevcut dilin bazı temel sınırlamaları var mı?)

cevap

8

C# karşılığı records olacaktır. Bunlar şu anda C# 8 için tahsis edilmiştir, ancak hiçbir garanti yoktur (özellikle de C# 6 & 7 için önerildiği gibi ve her iki durumda da geciktirilmiştir).

+2

Bence daha yakın bir özellik [Birincil Yapıcılar] (http://odetocode.com/blogs/scott/archive/2014/08/14/c-6-0-features-part-ii-primary-constructors .aspx). –

+1

@ScottWhitlock, benim anlayışım, sınıflar ve birincil kurucu sözdizimine sahip yapılar, örneğin eşitlik işlevi ve benzerlerini eklemek için bazı düşürme özellikleriyle birlikte olacak. Bu yüzden ikisinin artık tek bir özellikte birleştiğini düşünüyorum. Yine de yanlış olabilirim. –

İlgili konular