«generics» etiketlenmiş sorular

Jenerikler, .NET dilleri, Java, Swift ve Rust gibi çeşitli dillerde bulunan bir tür parametrik polimorfizmdir.

7
bir diziden genel numaralandırıcı elde edin
C # 'da, belirli bir diziden genel bir numaralandırıcı nasıl elde edilir? Aşağıdaki kodda MyArraybir dizi MyTypenesne var. MyIEnumeratorGösterilen şekilde elde etmek istiyorum , ancak görünüşe göre boş bir numaralayıcı elde ediyorum (bunu doğrulamama rağmen MyArray.Length > 0). MyType[] MyArray = ... ; IEnumerator<MyType> MyIEnumerator = MyArray.GetEnumerator() as IEnumerator<MyType>;

7
Genel bir işlevi açıkça özelleştiremezsiniz
Aşağıdaki kodla ilgili sorun yaşıyorum: func generic1<T>(name : String){ } func generic2<T>(name : String){ generic1<T>(name) } derleyici hatası için genel1 (ad) sonucu "Genel bir işlev açıkça özelleştirilemez" Bu hatayı önlemenin bir yolu var mı? Generic1 işlevinin imzasını değiştiremiyorum, bu nedenle (String) -> Void olmalı
92 generics  swift 

9
'Int' türü örtük olarak 'T' türüne dönüştürülemez
Arayabilirim Get<int>(Stat);veyaGet<string>(Name); Ama derlerken şunu elde ederim: 'İnt' türü örtük olarak 'T'ye dönüştürülemez ve aynı şey için string. public T Get<T>(Stats type) where T : IConvertible { if (typeof(T) == typeof(int)) { int t = Convert.ToInt16(PlayerStats[type]); return t; } if (typeof(T) == typeof(string)) { string t = PlayerStats[type].ToString(); return t; …
92 c#  generics 

4
Bir protokolün yalnızca belirli bir sınıf tarafından benimsenmesini nasıl talep edilir
Bu protokolü istiyorum: protocol AddsMoreCommands { /* ... */ } yalnızca sınıftan miras alan sınıflar tarafından benimsenir UIViewController. Bu sayfa bana, bunun yalnızca bir sınıf tarafından (bir yapının aksine) yazarak kabul edildiğini belirtebileceğimi söylüyor. protocol AddsMoreCommands: class { } ancak bunun yalnızca belirli bir sınıf tarafından benimsenmesini nasıl talep edeceğimi …

8
Nesneyi T'ye yayınla
XmlReaderNET'teki sınıfla bir XML dosyasını ayrıştırıyorum ve farklı öznitelikleri genel olarak okumak için genel bir ayrıştırma işlevi yazmanın akıllıca olacağını düşündüm. Aşağıdaki işlevi buldum: private static T ReadData<T>(XmlReader reader, string value) { reader.MoveToAttribute(value); object readData = reader.ReadContentAsObject(); return (T)readData; } Fark ettiğim gibi, bu tamamen planladığım gibi çalışmıyor; intveya gibi …
91 c#  generics  casting 



4
Razor ile jenerik bir @helper yöntemi oluşturmak mümkün müdür?
Razor'da aşağıdakine benzeyen bir yardımcı yazmaya çalışıyorum: @helper DoSomething<T, U>(Expression<Func<T, U>> expr) where T : class Ne yazık ki, ayrıştırıcı bunun <Tbir HTML öğesinin başlangıcı olduğunu düşünüyor ve ben bir sözdizimi hatasıyla karşılaşıyorum. Jenerik bir yöntem olan Razor ile yardımcı oluşturmak mümkün müdür? Eğer öyleyse, sözdizimi nedir?


3
C # Genel parametre olarak System.Type kullanın
Veritabanında sorgulanması gereken türlerin bir listesi (System.Type) var. Bu türlerin her biri için aşağıdaki uzantı yöntemini çağırmam gerekiyor (LinqToNhibernate'in bir parçası): Session.Linq<MyType>() Ancak MyType'a sahip değilim, bunun yerine bir Tür kullanmak istiyorum. Sahip olduğum şey: System.Type typeOne; Ama şunu yapamıyorum: Session.Linq<typeOne>() Bir Türü Genel parametre olarak nasıl kullanabilirim?
89 c#  generics  .net-4.0  types 

4
Guava'nın İsteğe Bağlı sınıfının amacı nedir
Son zamanlarda bunu okudum ve bu sınıfı kullanan insanlar gördüm, ancak hemen hemen her durumda, kullanmak nullda işe yarardı - daha sezgisel olmasa bile. Birisi başaramayan veya çok daha temiz bir şekilde bir Optionalşeyi nerede başaracağına dair somut bir örnek nullverebilir mi? Aklıma gelen tek şey, onu anahtarları Mapskabul etmeyen …
89 java  generics  guava 

3
Değişken türü olarak genel protokol nasıl kullanılır
Diyelim ki bir protokolüm var: public protocol Printable { typealias T func Print(val:T) } Ve işte uygulama class Printer<T> : Printable { func Print(val: T) { println(val) } } Beklentim, bunun Printablegibi değerleri yazdırmak için değişken kullanabilmem gerektiğiydi : let p:Printable = Printer<Int>() p.Print(67) Derleyici şu hatadan şikayet ediyor: "" …
89 ios  xcode  generics  swift 




Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.