C # to wieloparadygmatyczny, zarządzany obiektowy język programowania ze zbieraniem elementów bezużytecznych stworzony przez firmę Microsoft równolegle z platformą .NET
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 projektach C # często grupujemy małe i ściśle powiązane klasy w ten sam .csplik. Ta praktyka zmniejsza tarcie związane …
W przeszłości korzystałem z dziedziczenia, aby umożliwić rozszerzenie formularzy Windows w mojej aplikacji. Gdyby wszystkie moje formularze miały wspólne elementy sterujące, kompozycję i funkcje, utworzyłbym formularz podstawowy implementujący wspólne elementy sterujące i funkcje, a następnie pozwalałem innym elementom sterującym na dziedziczenie z tego formularza podstawowego. Jednak natrafiłem na kilka problemów …
Czy można wykonać następujące czynności w języku C # (lub w innym języku)? Pobieram dane z bazy danych. W czasie wykonywania mogę obliczyć liczbę kolumn i typy danych pobranych kolumn. Następnie chcę „wygenerować” klasę z tymi typami danych jako polami. Chcę również przechowywać wszystkie rekordy, które pobrałem w kolekcji. Problem …
C # (i ogólnie platforma .net) wygląda na to, że staje się dobrą opcją dla aplikacji do wielu celów: oficjalna platforma MS .net: tworzenie pełnych ciosów w systemie Windows, dev asp.net, Windows phone Dev itp. mono i wszystkie jego pochodne: monotouch, monodroid: reszta świata. Te narzędzia są dziś RTM. Czy …
Jestem nieco nowy w programowaniu i najlepszym sposobem, w jaki mogę zadać to pytanie, jest przykład. Wiem, jak robić podstawowe rzeczy w Javie i C #. Rzeczy takie jak mała aplikacja do tworzenia okien lub tworzenie ogólnej klasy. Zasadniczo się uczyłem i jeszcze nie próbowałem robić nic wielkiego. W każdym …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
W 2000 roku mój kolega powiedział mi, że to anty-wzorzec, aby publiczne metody były wirtualne lub abstrakcyjne. Na przykład uważał taką klasę za niezbyt dobrze zaprojektowaną: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == null) throw new ArgumentNullException(nameof(argument)); // …
Jaka jest różnica między wzorami projektowania obiektowego a zasadami? Czy to są różne rzeczy? O ile rozumiem, obaj starają się osiągnąć jakiś wspólny cel (np. Elastyczność). Czy mogę więc powiedzieć, że wzór jest zasadą i odwrotnie? Zasada projektu = SOLID (tj. Zasada inwersji zależności) Wzór projektowy = Gof (tj. Abstrakcyjny …
Za każdym razem, gdy muszę podać dodatkowe informacje na temat wyjątku, zastanawiam się, który sposób jest właściwy . Na potrzeby tego pytania napisałem przykład. Załóżmy, że istnieje klasa, w której chcemy zaktualizować Abbreviationwłaściwość. Z SOLIDOWEGO punktu widzenia może to nie być idealne, ale nawet gdybyśmy przeszli metodę roboczą za pośrednictwem …
Mamy więc taki interfejs /// <summary> /// Interface for classes capable of creating foos /// </summary> public interface ICreatesFoo { /// <summary> /// Creates foos /// </summary> void Create(Foo foo); /// <summary> /// Does Bar stuff /// </summary> void Bar(); } Niedawno odtworzyliśmy historię dokumentacji, która polegała na wygenerowaniu i …
Piszę opakowanie dla elementów XML, które pozwala programistom łatwo analizować atrybuty z XML. Opakowanie nie ma innego stanu niż zawijany obiekt. Rozważam następującą implementację (uproszczoną w tym przykładzie), która obejmuje przeciążenie ==operatora. class XmlWrapper { protected readonly XElement _element; public XmlWrapper(XElement element) { _element = element; } public string NameAttribute …
Często szukam pytań w Internecie, a wiele rozwiązań obejmuje słowniki. Jednak za każdym razem, gdy próbuję je zaimplementować, otrzymuję ten okropny smród w moim kodzie. Na przykład za każdym razem, gdy chcę użyć wartości: int x; if (dict.TryGetValue("key", out x)) { DoSomethingWith(x); } To 4 linie kodu, które zasadniczo wykonują …
W dawnych czasach robiliśmy zapis węgierski. To jest teraz uważane za passé i przez większość czasu już go nie używam, ale nadal znajduję zastosowanie m_prefiksu do wskazania pól członków. Dla mnie, jeśli czytam czyjś kod i widzę to: count = 3; Zakładam, że countjest to zmienna lokalna dla tej funkcji …
Uczę się o kontraktach kodowych w .NET i staram się zrozumieć ideę czystych konstruktorów. Dokumentacja kontraktów kodowych stanowi: Wszystkie metody wywoływane w ramach umowy muszą być czyste; oznacza to, że nie mogą aktualizować żadnego istniejącego stanu. Metoda czysta może modyfikować obiekty utworzone po wejściu do metody czystej. A PureAttributedokumentacja stwierdza: …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.