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

4
Czy ta metoda jest czysta?
Mam następującą metodę rozszerzenia: public static IEnumerable<T> Apply<T>( [NotNull] this IEnumerable<T> source, [NotNull] Action<T> action) where T : class { source.CheckArgumentNull("source"); action.CheckArgumentNull("action"); return source.ApplyIterator(action); } private static IEnumerable<T> ApplyIterator<T>(this IEnumerable<T> source, Action<T> action) where T : class { foreach (var item in source) { action(item); yield return item; } } …

1
Projektowanie interfejsów i asynchronizacji
Załóżmy, że utworzyłem interfejs IFolderRepositoryz takimi metodami: IEnumerable<Folder> GetAllFolders(); Folder GetFolderWithId(int id); void AddFolder(Folder newFolder); void ModifyFolder(Folder folderToModify, Folder folderAfterModification); void RemoveFolder(Folder folderToRemove); i wdrożyłem DatabaseFolderRepositoryi powiedzmy CacheFolderRepositoryDecorator. Teraz „setki linii później” Chciałbym dodać funkcjonalność folderów SkyDrive, więc jestem gotowy do dodania SkyDriveFolderRepository. Niestety, podczas gdy DatabaseFolderRepositoryimplementacja używała synchronicznych metod …
9 c#  async 

3
Jaki jest najlepszy sposób połączenia kontekstu (modelu) bazy danych Entity Framework z ViewModel w MVVM WPF?
Jak w powyższym pytaniu: Jaki jest najlepszy sposób podłączenia modelu bazy danych Entity Framework (kontekst) do viewModel w MVVM (WPF)? Uczę się wzorca MVVM w WPF, wiele przykładów pokazuje, jak zaimplementować model do viewModel, ale modele w tych przykładach są tylko prostymi klasami, chcę używać MVVM razem z modelem szkieletu …

1
Nazewnictwo powiązanych klas i interfejsów
Stworzyłem ObjectParserklasę, która analizuje dane w silnie typowane obiekty, używając IObjectParserDataSourcejako źródła danych (dane mogą być plikiem Excel, plikiem tekstowym, tablicą, ciągiem zapytania itp.). Przykłady moich wdrożeń IObjectParserDataSourceto: TextFileObjectParserDataSource ExcelFileObjectParserDataSource Te nazwy klas są dla mnie naprawdę długie i skomplikowane. Mógłbym je wymienić: TextFileDataSource ExcelFileDataSource Wprowadza to jednak pewien poziom …

2
Jak obudować zmienne „globalne” w języku C #? /najlepsze praktyki
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. W języku C # jaka jest najlepsza praktyka w zakresie enkapsulacji zmiennych, których muszę używać na wiele metod? Czy wystarczy …


3
Czy „używanie” jest odpowiednie w kontekście, w którym nie ma nic do usunięcia?
W języku C # usinginstrukcja służy do deterministycznego usuwania zasobów bez oczekiwania na moduł odśmiecania. Na przykład można go użyć do: Usuń polecenia SQL lub połączenia, Zamknij strumienie, uwalniając źródło źródłowe jak plik, Darmowe elementy GDI +, itp. Zauważyłem, że usingjest coraz częściej stosowany w przypadkach, w których nie ma …

4
Stałe w C #
Dlaczego kompilator przechowuje stałe wartości w metadanych zestawu? Czy są bezpośrednio osadzone w kodzie języka pośredniego z metadanych zestawu?
9 c#  clr  compilation 

8
Przeszłość Jeśli instrukcje Tablice, pętle… Co teraz?
Zrezygnowałem z programowania nieco ponad rok temu, kiedy ciągle uderzałem w tę ścianę. Powracam do tematu, ponieważ chcę stworzyć podstawową aplikację na Androida. Ale czuję, że moja ograniczona wiedza nie wystarczy. Oto mój problem. Przeczytałem kilka książek i obejrzałem samouczki wideo na C # / Java, poszedłem za przykładami, a …

5
Wyjątki dotyczące „błędu programowania” - Czy moje podejście jest prawidłowe?
Obecnie próbuję ulepszyć sposób korzystania z wyjątków i znalazłem ważne rozróżnienie między wyjątkami, które oznaczają błędy programowania (np. Ktoś przekazał wartość NULL jako argument lub wywołał metodę na obiekcie po jego usunięciu), a tymi, które oznaczają błąd w operacja, która nie jest błędem osoby dzwoniącej (np. wyjątek We / Wy). …
9 java  c#  c++  exceptions 

1
Co należy zrobić z nazwami klas, które są sprzeczne (wspólne) z nazwami ram
Co należy zrobić, gdy najbardziej oczywistą nazwą klasy dla komponentu jest struktura? W moim przypadku muszę stworzyć klasę opisującą żądanie HTTP. Oczywiście najczęstszą nazwą jest „wzięty” jako System.Web.HttpRequest. Co powinienem zrobić? Ten projekt będzie używany w kontekście internetowym, więc naprawdę nie wolę zmusić ludzi do nie importowania przestrzeni nazw System.Web …
9 c#  .net  naming  namespace 

5
Czy klasy zagnieżdżone są niedoceniane?
Nie próbuję powiedzieć, że wiem coś, czego wszyscy inni nie wiedzą, ale rozwiązuję coraz więcej projektów za pomocą klas zagnieżdżonych, więc jestem ciekawy, czy mam poczucie akceptowalności korzystania z tego pozornie rzadko używanego mechanizm projektowania. To prowadzi mnie do pytania: czy schodzę z natury złą drogą z powodów, które odkryję, …
9 c#  design 

4
Jaki jest najlepszy sposób obsługi referencji w aplikacji .NET
Ostatnio w pracy natrafiliśmy na problem polegający na tym, że otagowaliśmy / rozgałęziliśmy projekt i mieliśmy pewne problemy z kompilacją z powodu odwołań dll / project, które wskazywały na starą strukturę folderów. Utworzyliśmy folder „zewnętrznego pojemnika” dla każdego projektu i skopiowaliśmy dll do tych folderów. Czy to najlepszy sposób, czy …
9 c# 

4
Jak wyglądałby nowy język, gdyby został zaprojektowany od podstaw, aby był łatwy w TDD?
W przypadku niektórych najpopularniejszych języków (Java, C #, Java itp.) Czasami wydaje się, że pracujesz w sprzeczności z językiem, gdy chcesz w pełni TDD kodu. Na przykład w Javie i języku C # będziesz chciał wyśmiewać wszelkie zależności swoich klas, a większość frameworkowców zaleci, byś wyśmiewał interfejsy, a nie klasy. …

4
Zwraca interfejs lub klasę
Załóżmy, że mam metodę public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } Przeczytałem, że lepiej byłoby zwrócić interfejs (albo IListalbo IEnumerable), niż zwrócić a List. Niektóre argumenty, które słyszałem, to to, że ukrywa dane i daje programistom API elastyczność zmiany wewnętrznej …
9 c#  interfaces  class 

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.