C # to wieloparadygmatyczny, zarządzany obiektowy język programowania ze zbieraniem elementów bezużytecznych stworzony przez firmę Microsoft równolegle z platformą .NET
Niedawno mieliśmy wizytę kontrahenta, który zakwestionował naszą metodologię strukturyzacji projektów. Pamiętaj, że mam na myśli zwłaszcza strukturę katalogów. Zasugerował użycie wytycznych Microsoft. Myślałem, że będę w stanie znaleźć w Google „strukturę katalogów projektu .NET dla wytycznych Microsoft” i znaleźć coś pomocnego, ale okazało się, że tak nie jest. W tej …
W języku C #, gdy przesłonisz metodę, dozwolone jest, aby zastąpienie było asynchroniczne, gdy oryginalna metoda nie była. To wygląda na kiepską formę. Przykładem, który mnie do tego przywiódł, był ten: zostałem sprowadzony, aby pomóc z problemem testu obciążenia. Przy około 500 jednoczesnych użytkownikach proces logowania rozpadłby się w pętli …
Zastanawiałem się nad stworzeniem niestandardowych typów identyfikatorów takich jak ten: public enum CustomerId : int { /* intentionally empty */ } public enum OrderId : int { } public enum ProductId : int { } Moją podstawową motywacją do tego jest zapobieganie rodzajowi błędu, w którym przypadkowo przekazujesz orderItemId do …
Obecnie jestem w fazie (ponownego) projektowania kilku klas modeli aplikacji C # .NET. (Model jak w M z MVC). Klasy modeli mają już wiele dobrze zaprojektowanych danych, zachowań i wzajemnych powiązań. Przepisuję model z Python do C #. W starym modelu Pythona myślę, że widzę brodawkę. Każdy model wie, jak …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 5 lat temu . Jako programista C i programista C #, jedną z rzeczy, których nie lubię w C …
W C # zacząłem widzieć wyskakujące wszystkie magiczne metody, bez tworzenia kopii zapasowej przez interfejs. Dlaczego został wybrany? Pozwól mi wyjaśnić. Poprzednio w języku C #, jeśli obiekt implementował IEnumerableinterfejs, byłby automatycznie iterowalny przez foreachpętlę. Ma to dla mnie sens, ponieważ jest to wspierane przez interfejs, a jeśli miałbym mieć …
Założę się, że mógłbym sam na to odpowiedzieć, gdybym wiedział więcej o narzędziach do analizy zachowania C # / JIT, ale ponieważ nie, proszę o wyrozumiałość. Mam prosty kod taki jak ten: private SqlMetaData[] meta; [MethodImpl(MethodImplOptions.AggressiveInlining)] private SqlMetaData[] Meta { get { return this.meta; } } Jak widać, umieściłem AggressiveInlining, …
To pytanie z perspektywy wewnętrznych kompilatorów. Interesują mnie generyczne, a nie szablony (C ++), więc zaznaczyłem pytanie C #. Nie Java, ponieważ AFAIK generyczne w obu językach różnią się implementacjami. Kiedy patrzę na języki bez generyków, jest to dość proste, możesz zweryfikować definicję klasy, dodać ją do hierarchii i to …
Mam hierarchię klas reprezentujących kontrolki GUI. Coś takiego: Control->ContainerControl->Form Muszę zaimplementować serię algorytmów, które działają z obiektami wykonującymi różne czynności i myślę, że wzorzec dla gości byłby najczystszym rozwiązaniem. Weźmy na przykład algorytm, który tworzy reprezentację Xml hierarchii obiektów. Stosując podejście „klasyczne” zrobiłbym to: public abstract class Control { public …
Kiedy używam C # do pisania kodu i definiuję interfejs za pomocą Visual Studio 2010, zawsze zawiera on szereg instrukcji „using” (jak pokazano w przykładzie) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEngine.TestNameSpace { interface ITest1 { bool testMethod(int xyz); } } Zastanawiam się, do czego służą i …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Stosunkowo niewielkie pytanie, ale nie udało mi się znaleźć oficjalnej dokumentacji ani nawet …
Baza kodów, w której teraz pracuję, ma konwencję korzystania z prywatnych pól i właściwości publicznych. Na przykład większość klas ma takich członków zdefiniowanych w ten sposób: // Fields private double _foo; private double _bar; private double _baz; // Properties public double Foo { get{ return _foo; } set{ _foo = …
Zostałem poproszony o wykonanie małego projektu pobocznego, aby dostarczyć prostą aplikację jednemu z naszych klientów. Normalnie pracowałbym nad kodem zaplecza, w którym mam wszystkie moje potrzeby związane z testowaniem, i nie miałem jeszcze wątpliwej przyjemności pisania testów dla GUI, więc nie jest dla mnie jasne, jak powinienem skonfigurować kod testujący …
Słyszałem gdzieś, że asynchroniczne oczekiwanie na C # 5 będzie tak niesamowite, że nie będziesz musiał się tym martwić: if (InvokeRequired) { BeginInvoke(...); return; } // do your stuff here Wygląda na to, że wywołanie zwrotne operacji oczekującej nastąpi w oryginalnym wątku osoby dzwoniącej. Eric Lippert i Anders Hejlsberg kilkakrotnie …
Więc coś mnie denerwuje w związku z nową obsługą asynchronizacji w C # 5: Użytkownik naciska przycisk, który rozpoczyna operację asynchroniczną. Połączenie natychmiast wraca, a pompa komunikatów zaczyna działać ponownie - o to właśnie chodzi. Aby użytkownik mógł ponownie nacisnąć przycisk - powodując ponowne wejście. Co jeśli jest to problem? …
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.