Pytania otagowane jako generics

Generics to forma parametrycznego polimorfizmu występująca w wielu językach, w tym w językach .NET, Java, Swift i Rust.


27
Czy konwertować ogólną listę / listę do DataTable?
Mam kilka metod, które zwracają różne listy ogólne. Istnieje w .net jakakolwiek metoda statyczna klasy lub cokolwiek, aby przekonwertować dowolną listę na dane? Jedyne, co mogę sobie wyobrazić, to użyć Reflection, aby to zrobić. JEŚLI mam to: List<Whatever> whatever = new List<Whatever>(); (Ten następny kod oczywiście nie działa, ale chciałbym …
261 c#  list  generics  datatable 


4
ReSharper ostrzega: „Pole statyczne w typie ogólnym”
public class EnumRouteConstraint<T> : IRouteConstraint where T : struct { private static readonly Lazy<HashSet<string>> _enumNames; // <-- static EnumRouteConstraint() { if (!typeof(T).IsEnum) { throw new ArgumentException( Resources.Error.EnumRouteConstraint.FormatWith(typeof(T).FullName)); } string[] names = Enum.GetNames(typeof(T)); _enumNames = new Lazy<HashSet<string>>(() => new HashSet<string> ( names.Select(name => name), StringComparer.InvariantCultureIgnoreCase )); } public bool Match(HttpContextBase httpContext, …

3
Metoda ogólna z wieloma ograniczeniami
Mam ogólną metodę, która ma dwa ogólne parametry. Próbowałem skompilować poniższy kod, ale to nie działa. Czy jest to ograniczenie .NET? Czy można mieć wiele ograniczeń dla różnych parametrów? public TResponse Call<TResponse, TRequest>(TRequest request) where TRequest : MyClass, TResponse : MyOtherClass
251 c#  generics  .net-3.5 


11
Jak korzystać z klasy <T> w Javie?
W tym pytaniu jest dobra dyskusja na temat Generics i tego, co naprawdę robią za kulisami , więc wszyscy wiemy, że Vector&lt;int[]&gt;jest to wektor tablic liczb całkowitych i HashTable&lt;String, Person&gt;tabela, której klucze to ciągi znaków i wartości Person. Jednak to, co mnie zaskakuje, to użycie Class&lt;&gt;. Klasa java Classpowinna również …


3
Dostęp bez rozróżniania wielkości liter do słownika ogólnego
Mam aplikację korzystającą z zarządzanych bibliotek DLL. Jedna z tych bibliotek dll zwraca ogólny słownik: Dictionary&lt;string, int&gt; MyDictionary; Słownik zawiera klawisze z dużymi i małymi literami. Z drugiej strony otrzymuję listę potencjalnych kluczy (ciągów), ale nie mogę zagwarantować sprawy. Próbuję uzyskać wartość w słowniku za pomocą klawiszy. Ale oczywiście nie …
244 c#  generics  dictionary 

7
Usuwanie typu generics Java: kiedy i co się dzieje?
Przeczytałem o usuwaniu typu Java na stronie Oracle . Kiedy następuje usunięcie typu? W czasie kompilacji czy w czasie wykonywania? Kiedy klasa jest załadowana? Kiedy instancja klasy jest tworzona? Wiele stron (w tym oficjalny samouczek wspomniany powyżej) twierdzi, że kasowanie typu występuje podczas kompilacji. Jeśli informacje o typie zostaną całkowicie …



11
Typowa konwersja typu z ciągu
Mam klasę, której chcę użyć do przechowywania „właściwości” innej klasy. Te właściwości mają po prostu nazwę i wartość. Idealnie, chciałbym móc dodawać właściwości pisane na maszynie , tak aby zwracana „wartość” była zawsze zgodna z typem, jaki chcę. Ten typ powinien zawsze być prymitywny. Ta klasa podklasuje klasę abstrakcyjną, która …

10
Utworzyć wystąpienie typu ogólnego, którego konstruktor wymaga parametru?
Jeśli BaseFruitma konstruktora, który akceptuje int weight, czy mogę utworzyć egzemplarz owocu za pomocą ogólnej metody takiej jak ta? public void AddFruit&lt;T&gt;()where T: BaseFruit{ BaseFruit fruit = new T(weight); /*new Apple(150);*/ fruit.Enlist(fruitManager); } Przykład został dodany za komentarzami. Wydaje się, że mogę to zrobić tylko wtedy, gdy podam BaseFruitkonstruktor bez …
230 c#  .net  generics 

13
konwertuj listę obiektów z jednego typu na inny za pomocą wyrażenia lambda
Mam pętlę foreach, która czyta listę obiektów jednego typu i tworzy listę obiektów innego typu. Powiedziano mi, że wyrażenie lambda może osiągnąć ten sam wynik. var origList = List&lt;OrigType&gt;(); // assume populated var targetList = List&lt;TargetType&gt;(); foreach(OrigType a in origList) { targetList.Add(new TargetType() {SomeValue = a.SomeValue}); } Jakakolwiek pomoc byłaby …
224 c#  generics  lambda 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.