Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (16)
  • Есть ли способы генерировать уникальный ID для клиента, не в формате UUID и не GUID, а простое целое число?

    WarFollowsMe
    @WarFollowsMe
    в C# есть возможность создавать уникальный int с помощью System.Threading.Interlocked.Increment.
    Выглядит это вот так:
    private static int tick = Environment.TickCount;
    public int Id
    {
        get{return Interlocked.Increment(ref tick);}
    }

    Для конкретно вашего случая думаю стоит все же воспользоваться вариантом, описанным в других ответах (использование auto_increment). Но в общем случае, если возникнет подобная задача не только в рамках работы с БД, полезно знать о такой возможности.
    Ответ написан
    Комментировать
  • Как правильно обрабатывать трейсы в c#?

    WarFollowsMe
    @WarFollowsMe
    1) Возможно вам поможет AOP
    Вот статья где приведен пример использования PostSharp для try-catch

    2) Можно также попробовать использовать AppDomain.UnhandledException.
    Ответ написан
    1 комментарий
  • Как реализовать динамический интерфейс?

    WarFollowsMe
    @WarFollowsMe
    У каждого листа своя структура, и у каждой версии файла структура листа может быть другой.

    При использовании WPF и создании динамических UI очень помогает MVVM. Поэтому рекомендую прежде чем бросаться сразу делать UI, реализовать модель всей вашей структуры. Описать классы File, Element. Возможно если речь действительно о каких-то структурированных файлах (.xml, .json) то написать методы сериализации/десериализации.
    Потом создать ViewModel, в ней реализовать все прелести интерфейса INotifyPropertyChanged. Это как раз и даст возможность в вашем UI удобно использовать технологию DataBinding, привязывая элементы отображения к свойствам описанным в ViewModel.
    Ответ написан
    Комментировать
  • Как выбрать значения определенного типа атрибута из пространства имён?

    WarFollowsMe
    @WarFollowsMe
    попробуйте Reflection.
    foreach (var property in typeof(MyClassFromEntity).GetProperties())
    {
        foreach (var attribute in property.GetCustomAttributes(true))
        {
            if(attribute is DisplayNameAttribute)
            {
                var displayNameAttribute = attribute as DisplayNameAttribute;
                var displayName = displayNameAttribute.Name;
            }
            else if(attribute is GroupNameAttribute)
            {
                var groupNameAttribute = attribute as GroupNameAttribute;
                var groupName = groupNameAttribute.Name;
            }
        }
    }
    Ответ написан
    Комментировать
  • Generic Типы и UpCast к базовому интерфейсному типу(ковариантность обобщений)?

    WarFollowsMe
    @WarFollowsMe
    В C# при помощи интерфейсов реализуют важное свойство ООП - полиморфизм. Вкратце, это выделение одинаковых свойств и методов объектов, не привязываясь к их типу. Если простыми словами, то например у нас есть ряд объектов: стул, стол, чашка, грустный мопс и комета Чурюмова-Герасименко. И например стоит задача отслеживать их передвижение. Все объекты разных типов и привести их к одну общему не получается. В этом случае на помощь как раз и приходят интерфейсы. Описываем нужные нам свойства
    public interface INotifyCoordinateChanged
    {
        string Name{get;set;}
        double X{get;set;}
        double Y{get;set;}
        double Z{get;set;}
        event Action<INotifyCoordinateChanged> CoordinateChanged;
    }

    и если мы реализуем у всех объектов этот интерфейс, то теперь нам достаточно отслеживать изменения в списке
    List<INotifyCoordinateChanged> Objects{get;set;}
    P.S. А ваш пример очень странный. Интересно для объяснения какой темы его использовали. Просто это абсолютно бессмысленная солянка, пмсм.
    Ответ написан
    Комментировать