SORU
8 Mart 2015, Pazar


C# 6.0 için çalışıyor .NET 4.0?

Örnek bir proje, C#6.0 güzellikler ile oluşturdum yayma ve özellikleri boş bir örnek olarak başlatma, hedef sürüm ayarlayın .NET 4.0 ve... çalışıyor.

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);
    }
}

Benim yazılım için C# 6.0 özellikleri hedefler kullanabileceğim anlamına mı geliyor .NET 4.0? Herhangi bir sınırlama ya da dezavantajları var mı?

CEVAP
8 Mart 2015, Pazar


Evet (çoğunlukla). C# 6.0 yeni Roslyn derleyici gerektirir, ama yeni derleyici eski çerçeve sürümlerini hedef derleme. Sadece yeni özellikler için sınırlıçerçevesinden desteğe ihtiyacı yok.

Kullanabilirsiniz Örneğin, dize değerlemeden önceki sürümleri ile C# 6.0 özelliği .Net string.Format için arama sonuçları gibi):

int i = 3;
string s = $"{i}";

Gerekir .Sadece yeni bir çerçeve sürümü olarak IFormattable ile kullanmak için Net 4.6 ekler System.FormattableString:

int i = 3;
IFormattable s = $"{i}";

Bahsettiğiniz durumlarda işe çerçevesinden türleri gerek yok. Derleyici eski çerçeve sürümleri için bu özellikleri destekleyen tamamen yetenekli.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrDevin521

    MrDevin521

    18 Temmuz 2010
  • USI Events

    USI Events

    6 AĞUSTOS 2013
  • Vsauce

    Vsauce

    30 Temmuz 2007