Запитання з тегом «c#»

C # - це багатопарадигмна керована об'єктно-орієнтована мова програмування, що збирається сміттям, створена Microsoft паралельно з платформою .NET

1
Структура каталогу для .NET Solution
Нещодавно у нас був візит підрядника, який ставив під сумнів нашу методологію структурування проектів. Зауважте, що я конкретно маю на увазі структуру каталогів. Він запропонував використовувати вказівки Microsoft. Я думав, що зможу створити "керівництво Microsoft. NET структура каталогів проекту .NET" і знайти щось корисне, однак це виявилося не так. На …
16 c#  visual-studio 

2
Чому C # дозволяє вам зробити асинхронізацію заміни?
У C #, коли ви переосмислюєте метод, дозволено робити асинхронізацію override, коли оригінальний метод не був. Це здається поганою формою. Приклад, який привів мене до цього, був таким - мене запросили, щоб допомогти у вирішенні проблеми з навантаженням. Приблизно 500 одночасних користувачів процес входу в систему переривається в циклі переадресації. …
16 c#  async 

4
Які недоліки у відображенні інтегральних ідентифікаторів для перерахунків?
Я думав над створенням власних типів для таких ідентифікаторів: public enum CustomerId : int { /* intentionally empty */ } public enum OrderId : int { } public enum ProductId : int { } Моя основна мотивація цього - запобігати помилку, коли ви випадково передаєте orderItemId функції, яка очікувала orderItemDetailId. …
16 c# 

2
Чи повинні серіалізація та десеріалізація бути відповідальністю класу, який підлягає серіалізації?
Наразі я перебуваю на етапі (пере) проектування декількох класів моделей програми C # .NET. (Модель як у M MVC). Модельні класи вже мають безліч добре розроблених даних, поведінки та взаємозв'язків. Я переписую модель з Python на C #. У старій моделі Python я думаю, що бачу бородавку. Кожна модель знає, …

7
Що можна зробити для поліпшення читабельності математично орієнтованого коду в C #, Java тощо? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Як і програміст на C, і програміст на C #, одна з речей, що …
16 java  c#  math  readability 

1
Чому в C # були реалізовані магічні методи?
У C # я почав бачити, як усі ці магічні методи спливають, не підкріплюючись інтерфейсом. Чому саме цього обрали? Дозволь пояснити. Раніше в C #, якщо об'єкт реалізував IEnumerableінтерфейс, він автоматично був би ітерабельний foreachциклом. Це має сенс для мене, оскільки це підкріплене інтерфейсом, і якби я мав власну Iteratorфункцію …
16 c# 

4
Чи є недолік використання AggressiveInlining на простих властивостях?
Б'юсь об заклад, що я міг би відповісти на це сам, якби знав більше про інструменти для аналізу поведінки C # / JIT, але оскільки я цього не роблю, будь ласка, попросіть мене запитати. У мене такий простий код: private SqlMetaData[] meta; [MethodImpl(MethodImplOptions.AggressiveInlining)] private SqlMetaData[] Meta { get { return …

3
Як реалізуються дженерики?
Це питання з точки зору внутрішніх компіляторів. Мене цікавлять дженерики, а не шаблони (C ++), тому я позначив це питання C #. Не Java, тому що AFAIK генерики в обох мовах відрізняються за реалізацією. Коли я дивлюся на мови без дженерики, це досить просто, ви можете перевірити визначення класу, додати …
16 c#  generics 

1
Розуміння шаблону відвідувачів
У мене є ієрархія класів, яка представляє елементи управління графічним інтерфейсом. Щось на зразок цього: Control->ContainerControl->Form Мені доводиться реалізовувати низку алгоритмів, які працюють з об'єктами, які роблять різні речі, і я думаю, що шаблон відвідувачів був би найчистішим рішенням. Візьмемо для прикладу алгоритм, який створює представлення Xml ієрархії об'єктів. Використовуючи …

5
Використання ключового слова "Використання" в інтерфейсі C #
Коли я використовую C # для написання якогось коду, і я визначаю інтерфейс за допомогою Visual Studio 2010, він завжди включає ряд операторів "з використанням" (як показано в прикладі) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEngine.TestNameSpace { interface ITest1 { bool testMethod(int xyz); } } Цікаво, для …

3
Конвенція про найменування виділених предметів, що фіксують нитку [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Відносно незначне питання, але мені не вдалося знайти офіційну документацію або навіть думку / …

4
Чи слід віддати перевагу властивостям із приватними полями чи без них?
У кодовій базі, в якій я зараз працюю, передбачено використання приватних полів та загальнодоступних властивостей. Наприклад, більшість класів мають таких членів: // Fields private double _foo; private double _bar; private double _baz; // Properties public double Foo { get{ return _foo; } set{ _foo = value; } } public double …
16 c#  coding-style 

5
Як структурувати одиничні тести для програми GUI за допомогою C # та NUnit
Мене попросили зробити невеликий побічний проект, щоб поставити просту заявку одному з наших клієнтів. Зазвичай я б працював над бек-кодом, де я вирішив усі свої потреби в тестуванні, і я ще не мав сумнівної насолоди писати тести для GUI, тому мені трохи незрозуміло, як я повинен налаштувати код тестування та …
16 c#  testing  gui  nunit 

3
Як підтримка асинхронизації C # 5 допоможе вирішити проблеми з синхронізацією потоку інтерфейсу?
Десь я чув, що асинхрон-чекання C # 5 буде настільки приголомшливим, що вам не доведеться турбуватися про це: if (InvokeRequired) { BeginInvoke(...); return; } // do your stuff here Схоже, зворотний виклик операції, що очікує, відбудеться в оригінальній потоці абонента. Ерік Ліпперт та Андерс Хейлсберг кілька разів заявляли, що ця …

6
Рішення асинхронної повторної асинхронізації C # 5
Отже, щось переживає мене про нову підтримку async в C # 5: Користувач натискає кнопку, яка запускає операцію асинхронізації. Виклик негайно повертається, і насос повідомлень знову починає працювати - ось у чому вся суть. Тож користувач може знову натиснути кнопку - викликаючи повторне вступництво. Що робити, якщо це проблема? У …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.