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

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

2
Чи варто виставляти «обчислене» значення як властивість чи метод?
У мене є клас C #, який представляє тип вмісту в системі управління веб-контентом. У нас є поле, яке дозволяє редактору веб-вмісту вводити HTML-шаблон для відображення об’єкта. В основному він використовує синтаксис рулі для заміни значень властивостей об'єкта в HTML-рядок: <h1>{{Title}}</h1><p>{{Message}}</p> З точки зору дизайну класу, чи слід виставляти відформатований …

2
Чому відокремлюємо клас CommandHandler з Handle (), а не метод обробки в Command себе
У мене є частина CQRS-схеми, реалізованої за допомогою архітектури S # arp : public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return CommandResult.Success; } } Цікаво, …

4
Який спосіб припинити цикл читання є кращим підходом?
Коли ви маєте перебрати читача, коли кількість предметів для читання невідома, і єдиний спосіб зробити це - тримати читання, поки не досягнете кінця. Це часто місце, де вам потрібна нескінченна петля. Завжди trueвказується на те, що десь усередині блоку повинно бути breakабо returnтвердження . int offset = 0; while(true) { …

2
Реалізуйте тип класу Haskell з інтерфейсом C #
Я намагаюся порівняти типи класів Haskell та інтерфейси C #. Припустимо, є Functor. Haskell: class Functor f where fmap :: (a -> b) -> f a -> f b Як реалізувати цей клас класу як інтерфейс у C #? Що я спробував: interface Functor<A, B> { F<B> fmap(Func<A, B> f, …
13 c#  haskell 

4
Чи лінк ефективніший, ніж на поверхні?
Якщо я напишу щось подібне: var things = mythings .Where(x => x.IsSomeValue) .Where(y => y.IsSomeOtherValue) Це те саме, що: var results1 = new List<Thing>(); foreach(var t in mythings) if(t.IsSomeValue) results1.Add(t); var results2 = new List<Thing>(); foreach(var t in results1) if(t.IsSomeOtherValue) results2.Add(t); Або є якась магія під обкладинками, яка працює приблизно …
13 c#  linq 

1
Чому Resharper віддає перевагу "як" перед "є"?
Коли я пишу такий код, де obj - локальна змінна: if (obj is IMyInterface) { var result = (IMyInterface)obj; // .... } Resharper пропонує змінити його в такий код: var result = obj as IMyInterface; if (result != null) { // ... } Я віддаю перевагу першому, оскільки він не …
13 c#  resharper 

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

2
Який найкращий підхід для вбудованих коментарів до коду?
Ми робимо деякий рефакторинг на застарілу базу даних коду, яка триває 20 років, і я веду дискусію з колегою щодо формату коментарів у коді (plsql, java). Формат коментарів за замовчуванням не існує, але в більшості випадків люди роблять щось подібне у коментарі: // date (year, year-month, yyyy-mm-dd, dd/mm/yyyy), (author id, …

4
Якщо інтерфейси поширюватимуться (і при цьому успадковуватимуть інші методи)
Хоча це загальне питання, воно також характерне для проблеми, яку я зараз переживаю. Наразі в моєму рішенні називається інтерфейс, вказаний у моєму рішенні public interface IContextProvider { IDataContext { get; set; } IAreaContext { get; set; } } Цей інтерфейс часто використовується у всій програмі, тому я маю легкий доступ …
13 c#  design  interfaces 

6
Очікувана поведінка, коли запит на колекцію матиме нульові елементи
Скажімо, вам дано наступне ... List<Thing> theThings = fubar.Things.All(); Якби нічого не повернути, чого б ти очікував, що повернеться фубар. Редагувати: Дякую за думки. Я трохи зачекаю і прийму запис із більшою кількістю вікон. Я погоджуюся з відповідями на даний момент, особливо тими, що пропонують порожню колекцію. Постачальник надав API …
13 java  c# 

3
Як можна встановити тестовий звук?
Я успадкував невеликий проект і хочу одночасно розширити його та стабілізувати, написавши Тестові блоки для всього нового коду, який я додаю. Перший клас, TypedAudioCreatorстворює аудіофайли, і це виявилося дуже простим для тестування першого та написання коду для другого. Однак, коли прийшов час писати TypedAudioPlayer, я не мав уявлення, як би …
13 c#  tdd 

7
Чи досвід C # добре перекладається на C ++? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Мої уроки програмування в школі були C ++, але я закінчив роботу над роботою …
13 c#  c++  experience 

3
Що я повинен включати в коментарі до документації XML?
Я намагаюся зробити точку документування свого коду краще, особливо коли мова йде про коментарі XML щодо членів класу, але часто це просто глупо. У випадку з обробниками подій, умовні умови і параметри імен є стандартними та зрозумілими: /// <summary> /// Handler for myCollection's CollectionChanged Event. /// </summary> /// <param name="sender">Event …
13 c#  coding-style 

2
Чому в NHibernate потрібна схема сховища?
Я читаю офіційну Вашу першу заяву на основі NHibernate . Хоча підручник хороший і простий у дотриманні, мені цікаво, чому використовується шаблон репозиторію. У різних Add, Update, Removeметоди в ProductRepositoryреалізації, код майже ідентичний - всі вони використовують транзакції, а різниця в «м'ясо» , тобто виклик session.SaveINT Addметод, session.Deleteв removeметоді. ( …
13 c#  .net  nhibernate 

4
Це "запах шаблону", щоб у вашу модель включити геттери типу "FullName" або "FormattedPhoneNumber"?
Я працюю над програмою ASP.NET MVC, і мені стало звично розміщувати те, що здається корисним та зручним для роботи в моїх класах / моделях. Наприклад: public class Member { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } …

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