Click here to Skip to main content
12,398,225 members (58,732 online)
Rate this:
 
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 Gholam314.3K
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  
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  

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

  Print Answers RSS
Top Experts
Last 24hrsThis month


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

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100