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

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

4
Яка умова іменування для файлу C #, який містить кілька класів?
Хочете вдосконалити цю посаду? Надайте детальні відповіді на це запитання, включаючи цитати та пояснення, чому ваша відповідь правильна. Відповіді без достатньої кількості деталей можуть бути відредаговані або видалені. У проектах C # ми часто групуємо невеликі та тісно пов’язані класи в одному .csфайлі. Ця практика зменшує тертя роботи з безліччю …
20 c#  .net 

3
Найкращий дизайн для форм Windows, які матимуть спільний функціонал
Раніше я використовував успадкування, щоб дозволити розширення форм Windows у своїй програмі. Якщо всі мої форми мали б загальні елементи управління, твори мистецтва та функціональність, я створив б базову форму, що реалізує загальні елементи керування та функціональні можливості, а потім дозволю іншим елементам управління успадковувати цю базову форму. Однак у …

2
Динамічне генерування класу з типів, які отримуються під час виконання
Чи можна зробити наступне в C # (або будь-якій іншій мові)? Я отримую дані з бази даних. На час запуску я можу обчислити кількість стовпців та типи даних, отриманих стовпців. Далі я хочу "генерувати" клас із цими типами даних у вигляді полів. Я також хочу зберігати всі записи, які я …

3
Чи є насправді багатоплатформна мова?
C # (і платформа .net в цілому) виглядає так, що це стає хорошим варіантом для багатокористувацьких додатків: офіційні рамки MS .net: розробка повних вікон Windows, asp.net dev, Windows Phone Dev тощо. моно та все похідне від нього: монотух, монодороїд: решта світу. Ці інструменти сьогодні є RTM. Чи означає це, що …
20 c#  mono  monodroid 

7
Як програмісти мають справу з розробкою програмного забезпечення низького рівня на мовах високого рівня?
Я дещо новачок у програмуванні, і найкращим чином я можу задати це питання на прикладі. Я знаю, як робити основні речі на Java та C #. Такі речі, як маленьке вікно, формують додаток або роблять загальний клас. Я в основному вчився і ще не намагався зробити щось велике. У всякому …

4
Delphi vs 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)); // default …

7
Різниця між шаблоном і принципом
Яка різниця між об'єктно-орієнтованими моделями дизайну та принципами? Вони різні речі? Наскільки я зрозумів, вони обидва намагаються досягти якоїсь спільної мети (наприклад, гнучкість). Тож чи можу я сказати, що модель є принципом і навпаки? Принцип проектування = твердий (тобто принцип інверсії залежності) Шаблон дизайну = Gof (тобто абстрактний заводський візерунок)

3
Як слід надати додаткову інформацію про виняток?
Щоразу, коли мені потрібно надати додаткову інформацію про виняток, мені цікаво, який спосіб насправді є правильним . Заради цього питання я написав приклад. Припустимо, існує клас, в якому ми хочемо оновити Abbreviationвластивість. З точки зору SOLID, це може бути не ідеальним, але навіть якби ми пройшли метод робітника через DI …
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 # - Чому префікси на полях не перешкоджають?
Ще в старі часи ми робили угорські позначення. Це зараз вважається passé , і здебільшого я його більше не використовую, але все одно знаходжу для m_префікса позначення полів учасників. Для мене, якщо я читаю чужий код, і бачу таке: count = 3; Я припускаю, що countце змінна локальна для цієї …


2
Коли використовувати [Pure] на конструкторі?
Я дізнаюся про кодові контракти в .NET, і я намагаюся зрозуміти ідею чистих конструкторів. Документація кодових контрактів зазначає: Усі способи, які викликаються в рамках договору, повинні бути чистими; тобто вони не повинні оновлювати будь-який попередній стан. Чистим методом дозволяється змінювати об'єкти, створені після вступу в чистий метод. А в PureAttributeдокументації …

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