Skip to content

This project contains my extensions to Dynamic.cs library.

Notifications You must be signed in to change notification settings

olczykkrzysztof/dynamic-linq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 

Repository files navigation

Info

This project contains my extensions to Dynamic.cs library (commonly called DynamicLinq) included in C# samples.

Added features

  • new Namespace.Type(expr as property_name) grammar
  • new @0(expr as property_name) with Type given as placeholder grammar, i.e Select("new @0(.....)", typeof(SomeType))
  • Select<OutputType>("....") which returns IQueryable<OutputType> and makes sure the result of select is actually assignable to OutputType
  • OutputType of Select<OutputType> visible in query under @out symbol - Select<OutputType>("new @out (....)")
  • GroupBy<KeyType, ValType>("....", "....") available similarly Select<>
  • other GroupBy variants
  • inferred it for indexers - i.e. [0] > 10 equivalent to it[0] > 10
  • parentheses can be omitted when invoking argument-less lambda or aggregate
  • delegates can be passed for placeholder where lambda expression are expected.
  • eval operator which evaluates DynamicLinq language from string, e.g. `Where("some_prop = eval @0", "10 + other_prop");
  • Anonymous types in new operator can implement an interface - syntax: new IInterface (expr as prop, ...).

About

This project contains my extensions to Dynamic.cs library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published