Pytania otagowane jako c#-4.0

W C # 4.0 wprowadzono funkcje, takie jak obiekty dynamiczne, ulepszenia współdziałania COM, ogólna ko- i przeciwwariancja, parametry opcjonalne i nazwane. Użyj tego tagu, jeśli Twoje pytanie dotyczy konkretnie funkcji C # 4.0. Tag C # należy użyć, jeśli pytanie nie dotyczy funkcji języka C # 4.0.

9
Przykład kowariancji i kontrawariancji w świecie rzeczywistym
Mam trochę problemów ze zrozumieniem, jak użyłbym kowariancji i kontrawariancji w prawdziwym świecie. Jak dotąd jedyne przykłady, które widziałem, to ten sam przykład starej tablicy. object[] objectArray = new string[] { "string 1", "string 2" }; Byłoby miło zobaczyć przykład, który pozwoliłby mi go użyć podczas rozwoju, gdybym mógł zobaczyć, …
162 c#  c#-4.0  covariance 

7
C # Utwórz nowe T ()
Możesz zobaczyć, co próbuję (ale bezskutecznie) zrobić z następującym kodem: protected T GetObject() { return new T(); } Każda pomoc byłaby bardzo mile widziana. EDYTOWAĆ: Kontekst był następujący. Bawiłem się niestandardową klasą kontrolera, z której miały pochodzić wszystkie kontrolery, przy użyciu standardowych metod. W kontekście musiałem więc stworzyć nową instancję …
159 c#  .net  generics  c#-4.0  .net-4.0 

3
Czy usługa HttpClient jest bezpieczna w użyciu jednocześnie?
We wszystkich przykładach zastosowań, które mogę znaleźć HttpClient, jest używany do jednorazowych połączeń. Ale co w przypadku trwałej sytuacji klienta, w której można wysłać kilka żądań jednocześnie? Zasadniczo, czy można bezpiecznie wywoływać jednocześnie client.PostAsync2 wątki z tego samego wystąpienia HttpClient. Nie szukam tutaj wyników eksperymentów. Przykładem roboczym może być po …

4
Dlaczego kowariancja i kontrawariancja nie obsługują typu wartości
IEnumerable<T>jest kowariancją, ale nie obsługuje typu wartości, tylko typ referencyjny. Poniższy prosty kod został pomyślnie skompilowany: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Ale zmiana z stringna intspowoduje błąd kompilacji: IEnumerable<int> intList = new List<int>(); IEnumerable<object> objList = intList; Powód jest wyjaśniony w MSDN : Wariancja dotyczy tylko …



7
Brak elementu Main () w WPF?
Jestem początkującym jeśli chodzi o programowanie, ale byłem pewien, że jedną z uniwersalnych zasad było to, że program zaczyna się od Main (). Nie widzę żadnego, gdy tworzę projekt WPF. Czy Main () jest po prostu nazwany inaczej w WPF?
128 c#  wpf  c#-4.0  main 

8
C # 4.0: Czy mogę użyć TimeSpan jako opcjonalnego parametru z wartością domyślną?
Oba generują błąd, który mówi, że muszą być stałą czasu kompilacji: void Foo(TimeSpan span = TimeSpan.FromSeconds(2.0)) void Foo(TimeSpan span = new TimeSpan(2000)) Przede wszystkim, czy ktoś może wyjaśnić, dlaczego tych wartości nie można określić w czasie kompilacji? Czy istnieje sposób na określenie wartości domyślnej dla opcjonalnego obiektu TimeSpan?

5
Przekieruj do akcji w innym kontrolerze
Mam dwa kontrolery, oba nazywane AccountController. Jeden z nich, nazwijmy go Controller A, jest w Areawywołaniu, Admina drugi, nazwijmy go Controller B, nie ma w żadnym Area(myślę, że to znaczy, że jest domyślny Area?). Controller Bma action methodwezwanie Login. Mam action methodin Controller A, który ma tę linię return RedirectToAction("LogIn", …


8
Do przepływu pracy czy nie do przepływu pracy?
Odpowiadam za zespół programistów, który za chwilę rozpocznie prace nad lekkim systemem roszczeń ubezpieczeniowych. System obejmuje wiele ręcznych zadań i biznesowych przepływów pracy, a my rozważamy wykorzystanie Windows Workflow (.NET 4.0). Przykład domeny biznesowej jest następujący: Posiadacz polisy dzwoni do centrum kontaktowego w celu złożenia reklamacji. To „zdarzenie” uruchamia dwa …


6
Jak uzyskać aktualny numer linii?
Oto przykład tego, co chcę zrobić: MessageBox.Show("Error line number " + CurrentLineNumber); W powyższym kodzie CurrentLineNumber, powinno być numerem linii w kodzie źródłowym tego fragmentu kodu. Jak mogę to zrobić?
117 c#  wpf  c#-4.0  line-numbers 


10
Przeciążenie operatora C # dla `+ =`?
Próbuję zrobić przeciążenia operatorów dla += , ale nie mogę. Mogę tylko przeciążać operatora +. Dlaczego? Edytować Powodem, dla którego to nie działa, jest to, że mam klasę Vector (z polami X i Y). Rozważmy następujący przykład. vector1 += vector2; Jeśli moje przeciążenie operatora jest ustawione na: public static Vector …

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.