Информация об изменениях

Сообщение CodeJam Roadmap от 16.03.2016 20:39

Изменено 16.03.2016 20:42 AndrewVK

Расширения для строки
Инфиксные IsNullOrEmpty, IsNullOrWhitespace, NotNullNorEmpty, NotNullNorWhitespace
Инфиксный Format
Инфиксный Join
NaturalStringComparer

Расширения для XDocument
RequiredRoot, RequiredElement, RequiredAttribute
ElementValue, AttributeValue (required, optional, alternative names, type conversion etc)

Расширения для рефлекшена
GetCurrentAssembly
GetRequiredResourceStream
GetCustomAttribute<T>/GetCustomAttributes<T>
Enum: GetNames<T>, GetValues<T>, fast GetFlag
Advanced Activator.CreateInstance (required and optional parameters, default values etc)
Хелперы с использованием Expression по типу infoof для получения PropertyInfo, FieldInfo, MethodInfo и ConstructorInfo плюс для свойств и полей имена и полное имя (включая всю цепочку: a => a.User.Name вернет "User.Name")

Расширения для коллекций
Concat<T>(T singleElement)
AsArray, AsList, AsHashSet
ToHashSet

Расширения для словарей
GetOrAdd, AddOrUpdate
GetValueOrDefault
KeyEqualityComparer

Кеши, пулы
Словарь с ленивой инициализацией элементов, желательно потокобезопасный
ObjectPool from Roslyn

Прочее
Хелпер для сравнения текстовых данных
Хелпер для использования ReaderWriterLockSlim совместно с using
Хелпер для получения экземпляров пустых массивов без создания объекта каждый раз заново
Парсер CSV
Парсер командной строки
Ассерты ala Code.NotNull(someValue, "someValue");
Factory для Disposable, using(Disposable.Create(()=>OnDispose())) { }
Range<T>/CompositeRange<T>
Топологическая сортировка
Небольшой набор для Func & Action. Часто требуется, например при сортировке создавать делегат, который возвращает сам себя: o => o
Хелпер для дампа куска массива байтов в строку и обратно

Расширения для строки

  • Инфиксные IsNullOrEmpty, IsNullOrWhitespace, NotNullNorEmpty, NotNullNorWhitespace
  • Инфиксный Format
  • Инфиксный Join
  • NaturalStringComparer

    Расширения для XDocument

  • RequiredRoot, RequiredElement, RequiredAttribute
  • ElementValue, AttributeValue (required, optional, alternative names, type conversion etc)

    Расширения для рефлекшена

  • GetCurrentAssembly
  • GetRequiredResourceStream
  • GetCustomAttribute<T>/GetCustomAttributes<T>
  • Enum: GetNames<T>, GetValues<T>, fast GetFlag
  • Advanced Activator.CreateInstance (required and optional parameters, default values etc)
  • Хелперы с использованием Expression по типу infoof для получения PropertyInfo, FieldInfo, MethodInfo и ConstructorInfo плюс для свойств и полей имена и полное имя (включая всю цепочку: a => a.User.Name вернет "User.Name")

    Расширения для коллекций

  • Concat<T>(T singleElement)
  • AsArray, AsList, AsHashSet
  • ToHashSet

    Расширения для словарей

  • GetOrAdd, AddOrUpdate
  • GetValueOrDefault
  • KeyEqualityComparer

    Кеши, пулы

  • Словарь с ленивой инициализацией элементов, желательно потокобезопасный
  • ObjectPool from Roslyn

    Прочее

  • Хелпер для сравнения текстовых данных
  • Хелпер для использования ReaderWriterLockSlim совместно с using
  • Хелпер для получения экземпляров пустых массивов без создания объекта каждый раз заново
  • Парсер CSV
  • Парсер командной строки
  • Ассерты ala Code.NotNull(someValue, "someValue");
  • Factory для Disposable, using(Disposable.Create(()=>OnDispose())) { }
  • Range<T>/CompositeRange<T>
  • Топологическая сортировка
  • Небольшой набор для Func & Action. Часто требуется, например при сортировке создавать делегат, который возвращает сам себя: o => o
  • Хелпер для дампа куска массива байтов в строку и обратно