Вопросы с тегом «c#»

C # - это многопарадигмальный управляемый объектно-ориентированный язык программирования со сборкой мусора, созданный Microsoft параллельно с платформой .NET.

2
Почему C # позволяет вам сделать асинхронную переопределение?
В C # при переопределении метода разрешается делать асинхронное переопределение, когда исходный метод не был. Это похоже на плохую форму. Пример, который привел меня к этому, был следующим - меня привели, чтобы помочь с проблемой нагрузочного теста. Около 500 одновременно работающих пользователей процесс входа в систему будет нарушен в цикле …
16 c#  async 

4
Каковы недостатки в отображении интегральных идентификаторов в перечисления?
Я думал о создании пользовательских типов для идентификаторов, как это: public enum CustomerId : int { /* intentionally empty */ } public enum OrderId : int { } public enum ProductId : int { } Моя основная мотивация для этого состоит в том, чтобы предотвратить ошибку, при которой вы случайно …
16 c# 

2
Должна ли сериализация и десериализация быть обязанностью сериализуемого класса?
В настоящее время я нахожусь на стадии (пере) проектирования нескольких классов моделей приложения на C # .NET. (Модель как в М MVC). Классы моделей уже имеют множество хорошо спроектированных данных, поведений и взаимосвязей. Я переписываю модель с Python на C #. В старой модели Python, я думаю, я вижу бородавку. …

7
Что можно сделать, чтобы улучшить читаемость математически ориентированного кода на C #, Java и т.п.? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Как программист C и программист C #, одна вещь, которая мне не …
16 java  c#  math  readability 

1
Почему магические методы были реализованы в C #?
В C # я начал видеть все эти магические методы, появляющиеся без поддержки интерфейса. Почему это было выбрано? Позволь мне объяснить. Ранее в C #, если объект реализовывал IEnumerableинтерфейс, он был бы автоматически повторяем foreachциклом. Это имеет смысл для меня, так как он поддерживается интерфейсом, и если бы у меня …
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
Понимание структуры посетителя
У меня есть иерархия классов, которая представляет элементы управления GUI. Что-то вроде этого: Control->ContainerControl->Form Я должен реализовать ряд алгоритмов, которые работают с объектами, делающими разные вещи, и я думаю, что шаблон Visitor будет самым чистым решением. Давайте возьмем, например, алгоритм, который создает представление XML иерархии объектов. Используя «классический» подход, я …

3
BackgroundWorker против Async / Await
Я новичок в разработке на C # и хочу создать более отзывчивый интерфейс. В моем предварительном исследовании я видел два метода для достижения этой цели: Многопоточность в сочетании с классом BackgroundWorker. Более новые модификаторы Async / Await. Новое значит лучше? В чем разница между двумя методами? Если я хочу создать …

5
Использование ключевого слова «Использование» в интерфейсе C #
Когда я использую C # для написания некоторого кода и определяю интерфейс с помощью Visual Studio 2010, он всегда включает в себя ряд операторов using (как показано в примере) 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; …
16 c#  coding-style 

5
Как структурировать модульные тесты для приложения с графическим интерфейсом, используя C # и NUnit
Меня попросили сделать небольшой побочный проект, чтобы предоставить простое приложение одному из наших клиентов. Обычно я работаю над внутренним кодом, в котором все свои потребности в тестировании выяснены, и я еще не имел сомнительного удовольствия от написания тестов для GUI, поэтому мне немного неясно, как мне настроить код тестирования и …
16 c#  testing  gui  nunit 

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

6
Решения для асинхронного повторного входа C # 5
Итак, меня что-то беспокоило в связи с новой поддержкой асинхронности в C # 5: Пользователь нажимает кнопку, которая запускает асинхронную операцию. Вызов немедленно возвращается, и насос сообщений снова начинает работать - вот и весь смысл. Таким образом, пользователь может снова нажать кнопку - вызывая повторный вход. Что если это проблема? …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.