Pytania otagowane jako c#

C # to wieloparadygmatyczny, zarządzany obiektowy język programowania ze zbieraniem elementów bezużytecznych stworzony przez firmę Microsoft równolegle z platformą .NET

6
Wiele klas w jednym pliku .cs - dobry czy zły? [Zamknięte]
Czy wskazane jest utworzenie wielu klas w pliku .cs czy każdy plik .cs powinien mieć osobną klasę? Na przykład: public class Items { public class Animal { } public class Person { } public class Object { } } Pomijając fakt, że jest to kiepski przykład dobrej architektury, czy więcej …
30 c#  code-smell 


5
Kiedy i dlaczego używać klas zagnieżdżonych?
Korzystając z programowania obiektowego mamy moc tworzenia klasy wewnątrz klasy (klasa zagnieżdżona), ale nigdy nie tworzyłem zagnieżdżonej klasy w ciągu 4 lat doświadczenia w programowaniu. Do czego służą klasy zagnieżdżone? Wiem, że klasa może być oznaczona jako prywatna, jeśli jest zagnieżdżona i że możemy uzyskać dostęp do wszystkich prywatnych członków …

7
Jak leczyć nieobsługiwane wyjątki? (Zakończ aplikację a utrzymaj ją przy życiu)
Jaka jest najlepsza praktyka, gdy w aplikacji komputerowej występują nieobsługiwane wyjątki? Myślałem o wyświetleniu użytkownikowi wiadomości, aby mógł skontaktować się z pomocą techniczną. Poleciłbym użytkownikowi ponowne uruchomienie aplikacji, ale nie wymuszanie jej. Podobne do omawianych tutaj: ux.stackexchange.com - Jaki jest najlepszy sposób radzenia sobie z nieoczekiwanymi błędami aplikacji? Projekt jest …

4
Czy nowy nieważny operator C # 6.0 jest sprzeczny z prawem Demetera?
Prawo Demeter stwierdza co następuje: Każda jednostka powinna mieć ograniczoną wiedzę na temat innych jednostek: tylko jednostki „ściśle” związane z bieżącą jednostką. Każda jednostka powinna rozmawiać tylko z przyjaciółmi; nie rozmawiaj z nieznajomymi. Rozmawiaj tylko z najbliższymi przyjaciółmi. W C # 6.0 wprowadzono nowy operator o nazwie operator null-warunkowy . …


5
Dlaczego Java / C # nie może implementować RAII?
Pytanie: Dlaczego Java / C # nie może implementować RAII? Wyjaśnienie: Wiem, że śmieciarz nie jest deterministyczny. Dlatego przy obecnych funkcjach językowych nie jest możliwe automatyczne wywoływanie metody Dispose () obiektu przy wyjściu z zakresu. Ale czy można dodać taką cechę deterministyczną? Moje zrozumienie: Wydaje mi się, że implementacja RAII …


6
Czy oczekiwane wyniki testu jednostkowego powinny być zakodowane na stałe?
Czy oczekiwane wyniki testu jednostkowego powinny być zakodowane na stałe, czy też mogą zależeć od zainicjowanych zmiennych? Czy wyniki zapisane na stałe lub obliczone zwiększają ryzyko wprowadzenia błędów w teście jednostkowym? Czy są jeszcze inne czynniki, których nie wziąłem pod uwagę? Na przykład, który z tych dwóch formatów jest bardziej …
29 c#  unit-testing 

3
Opcjonalne parametry lub przeciążone konstruktory
Wdrażam a DelegateCommand, kiedy miałem zaimplementować konstruktora (-ów), zaproponowałem dwie następujące opcje projektu: 1: Posiadanie wielu przeciążonych konstruktorów public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Posiadanie tylko jednego konstruktora z opcjonalnym parametrem public DelegateCommand(Action<T> …

8
C # Generics - Jak uniknąć zbędnej metody?
Załóżmy, że mam dwie klasy, które wyglądają tak (pierwszy blok kodu i ogólny problem są związane z C #): class A { public int IntProperty { get; set; } } class B { public int IntProperty { get; set; } } Klasy te nie mogą być w żaden sposób zmieniane …
28 c#  generics 

6
Czy istnieje realna zaleta ogólnego repozytorium?
Czytałem kilka artykułów na temat zalet tworzenia Ogólnych repozytoriów dla nowej aplikacji ( przykład ). Pomysł wydaje się miły, ponieważ pozwala mi używać tego samego repozytorium do robienia kilku rzeczy dla kilku różnych typów jednostek jednocześnie: IRepository repo = new EfRepository(); // Would normally pass through IOC into constructor var …


4
Przechwytywanie a wtryskiwanie: decyzja dotycząca architektury ramowej
Istnieją takie ramy, które pomagam zaprojektować. Istnieje kilka typowych zadań, które należy wykonać przy użyciu niektórych typowych komponentów: w szczególności rejestrowanie, buforowanie i wywoływanie zdarzeń. Nie jestem pewien, czy lepiej jest użyć wstrzykiwania zależności i wprowadzić wszystkie te składniki do każdej usługi (na przykład właściwości), czy też powinienem umieścić jakieś …


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.