Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#
Say we have a class like this :
public class someclass
{ 
   public string Name;
   public string Address;
   public int Code;
}
Is there a way to create a method like this
public delegate Insert(string Name, string Address, int Code);
Using lambda expressions at design/compile without code/template generation?
Posted 4-Feb-12 0:57am
Mehdi Gholam231.5K
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

I think the answer of VirtualBlackFox will help you at this page :
 
http://stackoverflow.com/a/1575153[^]
 
CodeDOM documentation :
http://msdn.microsoft.com/en-us/library/y2k85ax6.aspx[^]
 
Hope it helps.
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Hi,
 
I think you can use Action [^] and Func[^] predefined delegates.
 
Using them looks like this:
Func<string,> insert = (Name, Address, Code) => 
		{
			// Do something with Name, Address and Code
			return String.Format("Data inserted:[Name={0}; Address={1}; Code={2}]", Name, Address, Code);
		};
	
	string result = insert("Martin Arapovic", "Split, Croatia", 100);
	
	Console.WriteLine(result);
Actually this can be done in design time, but to use it in runtime I think you will work with ExpressionTrees:
1. http://www.thejoyofcode.com/Lambda_and_Expression_Trees.aspx[^]
2. http://msdn.microsoft.com/en-us/library/bb397951.aspx[^]
3.http://www.abhisheksur.com/2010/09/use-of-expression-trees-in-lamda-c.html[^]
3. http://blogs.msdn.com/b/csharpfaq/archive/2009/09/14/generating-dynamic-methods-with-expression-trees-in-visual-studio-2010.aspx[^]
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web02 | 2.8.140709.1 | Last Updated 4 Feb 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid