Рубрика «.net» - 186

Доброго всем времени суток. Я буду говорить о RavenDB. Для тех, кто не знает, что это, посмотреть можно тут. В дальнейшем я предполагаю, что Вы знаете, о чем идет речь.
Читать полностью »

В C# все типы объявленные с ключевым словом struct являются значимыми, как class — ссылочными. Разницы в их поведении не наблюдается, поэтому особо важно понимать какой тип используется в программе, так как это может значительно влиять на производительность в программе.
Рассмотрим пример, из которого видна разница между ссылочными и значимыми типами:
Читать полностью »

image

По роду моей деятельности, мне часто приходится делать различные небольшие проекты, в основном, это сайты написанные на ASP.NET MVC. В любом современном проекте присутствуют данные, а значит и база данных, а значит с ней нужно как то работать.
Если отбросить все дискуссии про «за и против», то спешу сообщить, что мой выбор пал на Entity Framework Code First. Во время разработки проекта, я уделяю внимание исключительно бизнес-логике и не трачу время на проектирование базы данных и прочие шаблонные действия. Неприятным сюрпризом при использовании такого подхода для меня стало отсутствие возможности «из коробки» у Entity Framework возможности строить индекс по полям, а так же пользоваться удобным и современным механизмом полнотекстового поиска.

После многочасового гугления, опробовав десятки различных методов со StackOverflow и прочих подобных сайтов, я пришел к выводу, что очевидного и простого решения проблемы нет, поэтому решил сделать собственное, об этом и пойдет речь далее.
Читать полностью »

Скажу сразу, возможно есть какое то более удачное решение проблемы описанной мною ниже — буду рад узнать!

Очень давно писал я настольное приложение на C#, в котором, сразу после запуска, пользователь должен был ввести свои логин и пароль. Ну кажись все просто, вариантов реализации входа в приложение сотни. Например, создать класс DatabaseManager, добавить в нем метод Login, который должен принимать логин и пароль, и даже возвращать объект, допустим User (к примеру, если логин или пароль введены неверно, то метод возвращает null).

class User
{
     //поля класса
}

class DatabaseManager
{
   public User Login(string login, string password)
   {
      User user = null;
      //код метода
      return user;
   }
}

Читать полностью »

Давно мы не выпускали обновлений для декомпилятора.
А вчера выпустили: dotPeek 1.1 теперь доступен для широкой публики.

dotPeek 1.1: бесплатный .NET-декомпилятор от компании JetBrains

Напомним, dotPeek — это бесплатный декомпилятор .NET-сборок, который показывает результирующий код на языке C# и позволяет изучать его с помощью многообразных функций навигации и поиска, что знакомы и, будем надеяться, симпатичны пользователям другого нашего продукта, ReSharper. В частности, в dotPeek можно проводить поиск конкретного типа, символа или члена класса во всех загруженных сборках; переходить от деклараций символов к их использованиям и наоборот; анализировать иерархии наследования. Кроме того, при наличии файлов отладочной информации (.pdb) dotPeek показывает оригинальный исходный код сборок и дружит с серверами символов, такими как Microsoft Reference Source Center и SymbolSource.org, с которых при необходимости может скачивать исходный код различных библиотек.
Читать полностью »

Я пишу программы на C# для фирмы, где их использует несколько сотен человек. Время от времени добавляются новые функции и встаёт проблема обновления версий.

Я решил не искать стандартных громоздких решений, а изобрести свой собственный велосипед для автоматического обновления установленных программ.

image

Честно, мне самому не очень нравятся приложения, которые вечно скачивают обновления, но в моём случае проще автоматизировать этот процесс, чем писать должностные инструкции и заставлять коллег скачивать обновления вручную (а потом бегать по всем этажам и делать это самому).
Читать полностью »

После проверки того, что можно как то делать навигацию в студии и без решарпера, решил исследовать следующий важный для меня сценарий: а именно unit тестирование в студии (с использованием тестового фреймворка nunit).

Читать полностью »

Давно пользуюсь таким замечательным продуктом как Resharper-ом. Пользовался бы и дальше, если бы не щедрость Microsoft и странное поведение продавца от JetBrains.
Таким образом есть студия 2013 и заканчивается пробная лицензия от Resharper-8. Решил попробовать, можно ли жить в студии (для начала Ultimate редакции) без решарпера. Кроме того, как не удивительно, некая часть разработчиков пользуются только не большим набором возможностей решарпера. Нельзя ли их перевести на встроенные фичи или бесплатные инструменты, что бы бухгалтерию зря не напрягать.
Исследование вопроса под катом.

Читать полностью »

Импорт координат из текстового файла в чертёж nanoCAD на MultiCAD .NET API

В предыдущей статье мы писали о том, как импортировать точки из внешнего текстового файла в .dwg чертеж при помощи классического .NET API. В данной статье мы рассмотрим особенности решения этой же задачи на кросс-САПР-платформенном MultiCAD .NET API и продемонстрируем, как построенное приложение может быть запущено в nanoCAD и в AutoCAD без изменения настроек проекта и перекомпиляции.Читать полностью »

Хотел бы начать перевод с маленького опроса. Вопрос к .NET разработчикам пишущим на языке программирования C#.

Опрос в конце перевода.

Сегодня я смотрел внутренний список разработчиков языка C#. Один из вопросов был о поведении выражения «x += x++», а именно, каким должно быть правильное поведение. Я думаю этот вопрос более чем интересный, поэтому решил посвятить ему запись в своем блоге. Но для начала, НИКОГДА НЕ ПИШИТЕ ТАКОЙ КОД.

ОК, мы можем начать…
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js