c# - Add property without naming existing properties by Linq -
in linq
how can add new properties besides other existing properties without mention them.
for example have class myclass
:
public class myclass { public int p1 {get; set;} public int p2 {get; set;} }
and @ runtime:
list<myclass> list = // myclass objects list ...
and wrapperlist has 3 more new properties
var wrapperlist = list.select(m=> new { p1 = m.p1 // don't want p2 = m.p2 // don't want newp1 = somenewval1 newp2 = somenewval2 newp3 = somenewval3 });
notice don't using new wrapper class new properties subclass of myclass
, myclass
object constructor argument or thing this, because wrapper class general class , has fixed properties (newp1
,newp2
,newp3
) , designed wrap kind of objects (for example myclass
). kind of solutions causes have modifications in myclass
definition unacceptable.
update: wrapper
class anonymous object has been created @ runtime inside select
extension method.
would work you?
var wrapperlist = list.select(m => new { wrappedobject = m, newp1 = somenewval1, newp2 = somenewval2, newp3 = somenewval3 });
Comments
Post a Comment