Aracılığıyla paylaş


Genel Tür Parametreleri (C# Programlama Kılavuzu)

Genel tür veya yöntem tanımının tür parametreleri, bir istemci olduğunda bunlar genel türde bir değişken örneğini belirtir belirli bir türü için bir yer tutucudur.Genel sınıf, gibi GenericList<T> listelenen Genel Türlere Giriş (C# Programlama Kılavuzu), kullanılamaz-bu gerçekten bir tür; değil çünkü Daha fazla örnek için bir tür gibi.Kullanmak için GenericList<T>, istemci kodu bildirmek ve köşeli ayraç içinde bir tür bağımsız değişkeni belirterek oluşturulmuş bir tür oluşturmak.Belirli Bu sınıf için tür bağımsız değişkeni, derleyici tarafından tanınan her türlü olabilir.Herhangi bir sayıda oluşturulmuş türü örnekleri, her biri farklı tür bağımsız değişkeni aşağıdaki gibi kullanarak oluşturulabilir:

GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();

Bu örneklerinin her GenericList<T>, her geçtiği T sınıfında zamanında tür bağımsız değişkeni ile değiştirilecektir.Bu değişim sayesinde, tek bir sınıf tanımının üç ayrı tür-güvenli ve etkili bir şekilde nesneleri kullanarak oluşturduk.clr tarafından gerçekleştirilen bu değiştirmenin nasıl daha fazla bilgi için bkz: Çalışma Zamanındaki Genel Türler (C# Programlama Kılavuzu).

Tür parametresi adlandırma yönergeleri

  • Yapmak tek harf adı tamamen kendini açıklama ve açıklayıcı bir ad, değer eklemek değil sürece açıklayıcı adlar ile genel tür parametre adı.

    public interface ISessionChannel<TSession> { /*...*/ }
    public delegate TOutput Converter<TInput, TOutput>(TInput from);
    public class List<T> { /*...*/ }
    
  • Göz önünde t bir tek harf türü parametre türleriyle türü parametre adı olarak kullanma.

    public int IComparer<T>() { return 0; }
    public delegate bool Predicate<T>(T item);
    public struct Nullable<T> where T : struct { /*...*/ }
    
  • Yapmak açıklayıcı türü parametre adları "t" ile önek.

    public interface ISessionChannel<TSession>
    {
        TSession Session { get; }
    }
    
  • Göz önünde parametre adını bir tür parametresindeki kısıtlamaları gösteren yerleştirilmiş.Örneğin, için bir parametre kısıtlı ISession çağrılabilir TSession.

Ayrıca bkz.

Başvuru

Genel Türler (C# Programlama Kılavuzu)

C++ Şablonları ve C# Genel Türleri Arasındaki Farklar (C# Programlama Kılavuzu)

System.Collections.Generic

Kavramlar

C# Programlama Kılavuzu