fork download
  1. using E = System.Linq.Expressions.Expression;
  2. ...
  3. void theAlgorithm<T>(T someVar, string field, string creationFunction) where T : BaseSomeType{
  4. E.Lambda<Action>(
  5. E.Assign(
  6. E.Field(E.Constant(someVar), field),
  7. E.Call(E.Constant(this), creationFunction, null)
  8. )
  9. ).Compile()();
  10.  
  11. lock (something){
  12. T someOtherVar = (T)something.Find(someVar.unrelatedMember);
  13.  
  14. if (someOtherVar != null){
  15. E.Lambda<Action>(
  16. E.Assign(
  17. E.Field(E.Constant(someOtherVar), field),
  18. E.Field(E.Constant(someVar), field)
  19. )
  20. ).Compile()();
  21. }
  22. }
  23. }
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty