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

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

4
Какое соглашение об именах для C # файла, который содержит несколько классов?
Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. В проектах C # мы часто группируем небольшие и тесно связанные классы в один и тот же .csфайл. Эта практика уменьшает трения …
20 c#  .net 

3
Лучший дизайн для форм Windows, которые будут иметь общую функциональность
В прошлом я использовал наследование, чтобы разрешить расширение форм Windows в моем приложении. Если бы все мои формы имели общие элементы управления, графические объекты и функции, я бы создал базовую форму, реализующую общие элементы управления и функции, а затем позволил бы другим элементам управления наследоваться от этой базовой формы. Однако …

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

3
C # на самом деле является мультиплатформенным языком?
C # (и платформа .net в целом) выглядит так, как будто он становится хорошим вариантом для многоцелевых приложений: официальная среда MS .net: полная разработка Windows, разработка asp.net, разработка для Windows phone и т. д. mono и все его производные: monotouch, monodroid: остальной мир. Эти инструменты сегодня RTM. Означает ли это, …
20 c#  mono  monodroid 

7
Как программисты справляются с разработкой программного обеспечения низкого уровня на языках высокого уровня?
Я немного новичок в программировании, и лучший способ задать этот вопрос - это на примере. Я знаю, как делать основные вещи в Java и C #. Такие вещи, как небольшое приложение Windows Forms или создание универсального класса. Я в основном учился и еще не пытался сделать что-то большое. В любом …

4
Delphi против C # для программирования GUI [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
20 c#  delphi 

3
Никогда не делайте публичных участников виртуальными / абстрактными - правда?
Еще в 2000-х мой коллега сказал мне, что делать публичные методы виртуальными или абстрактными - это нехорошо. Например, он считал такой класс не очень хорошо спроектированным: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == null) throw new ArgumentNullException(nameof(argument)); // …

7
Разница между паттерном и принципом
Чем отличаются объектно-ориентированные шаблоны проектирования и принципы? Это разные вещи? Насколько я понял, они оба пытаются достичь какой-то общей цели (например, гибкость). Так могу ли я сказать, что паттерн - это принцип, и наоборот? Принцип проектирования = SOLID (т.е. принцип инверсии зависимости) Шаблон проектирования = Gof (т.е. абстрактный шаблон фабрики)

3
Как мне предоставить дополнительную информацию об исключении?
Каждый раз, когда мне нужно предоставить дополнительную информацию об исключении, я задаюсь вопросом, какой способ действительно является правильным . Ради этого вопроса я написал пример. Давайте предположим, что есть класс, где мы хотим обновить Abbreviationсвойство. С точки зрения SOLID это может быть не идеально, но даже если мы передадим рабочий …
20 c#  exceptions 

1
Дублирование документации по реализации / переопределениям интерфейса хорошо или плохо?
Итак, у нас есть такой интерфейс /// <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(); } Недавно мы воспроизвели документацию, в которой рассказывалось …

3
Должны ли обертки сравниваться как равные с использованием оператора ==, когда они переносят один и тот же объект?
Я пишу оболочку для элементов XML, которая позволяет разработчику легко анализировать атрибуты из XML. Оболочка не имеет никакого состояния, кроме объекта, который оборачивается. Я рассматриваю следующую реализацию (упрощенную для этого примера), которая включает перегрузку для ==оператора. class XmlWrapper { protected readonly XElement _element; public XmlWrapper(XElement element) { _element = element; …
19 c#  .net  operators 

8
Есть ли лучший способ использовать словари C #, чем TryGetValue?
Я часто просматриваю вопросы в Интернете, и многие решения включают словари. Однако всякий раз, когда я пытаюсь реализовать их, я получаю этот ужасный запах в своем коде. Например, каждый раз, когда я хочу использовать значение: int x; if (dict.TryGetValue("key", out x)) { DoSomethingWith(x); } Это 4 строки кода, чтобы по …

8
C # - Почему префиксы на полях не рекомендуется?
В старые времена мы делали венгерские записи. Теперь это считается пассивным , и по большей части я его больше не использую, но я все еще нахожу использование m_префикса для обозначения полей-членов. Для меня, если я читаю чужой код и вижу это: count = 3; Я предполагаю, что countэто локальная переменная …


2
Когда использовать [Pure] в конструкторе?
Я изучаю контракты кода в .NET и пытаюсь понять идею чистых конструкторов. В коде договора документация говорится: Все методы, которые вызываются в контракте, должны быть чистыми; то есть они не должны обновлять никакое ранее существующее состояние. Чистый метод позволяет изменять объекты, которые были созданы после входа в чистый метод. И …

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