Я создал образец проекта, в качестве примера которого были использованы свойства С# 6.0 - нулевое распространение и инициализация свойств, установите целевую версию .NET 4.0 и он... работает.
public class Cat
{
public int TailLength { get; set; } = 4;
public Cat Friend { get; set; }
public string Mew() { return "Mew!"; }
}
class Program
{
static void Main(string[] args)
{
var cat = new Cat {Friend = new Cat()};
Console.WriteLine(cat?.Friend.Mew());
Console.WriteLine(cat?.Friend?.Friend?.Mew() ?? "Null");
Console.WriteLine(cat?.Friend?.Friend?.TailLength ?? 0);
}
}
- Википедия говорит.NET framework для С# 6.0 - 4.6.
- Этот вопрос (и Visual Studio 2015 тест CTP) говорит, что CLR версия 4.0.30319.0.
- Эта страница MSDN говорит, что .NET 4, 4.5, 4.5.2 использует CLR 4. Информация о .NET 4.6 отсутствует..
Означает ли это, что я могу использовать функции С# 6.0 для своего программного обеспечения, предназначенного для .NET 4.0? Существуют ли какие-либо ограничения или недостатки?