This project contains my extensions to Dynamic.cs library (commonly called DynamicLinq) included in C# samples.
new Namespace.Type(expr as property_name)
grammarnew @0(expr as property_name)
with Type given as placeholder grammar, i.eSelect("new @0(.....)", typeof(SomeType))
Select<OutputType>("....")
which returnsIQueryable<OutputType>
and makes sure the result of select is actually assignable toOutputType
OutputType
ofSelect<OutputType>
visible in query under@out
symbol -Select<OutputType>("new @out (....)")
GroupBy<KeyType, ValType>("....", "....")
available similarlySelect<>
- other
GroupBy
variants - inferred
it
for indexers - i.e.[0] > 10
equivalent toit[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, ...)
.