Click here to Skip to main content
11,640,599 members (59,392 online)
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 Gholam282.8K
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)

  Print Answers RSS
0 Mika Wendelius 330
1 OriginalGriff 175
2 Afzaal Ahmad Zeeshan 130
3 CPallini 125
4 Sergey Alexandrovich Kryukov 94
0 Mika Wendelius 200
1 OriginalGriff 145
2 CPallini 115
3 jgakenhe 40
4 sasanka sekhar panda 30


Advertise | Privacy | Mobile
Web02 | 2.8.150731.1 | Last Updated 4 Feb 2012
Copyright © CodeProject, 1999-2015
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