I used a throwaway program to create a program to determine the maximum number of parameters I can pass to a method. Based on the results of my experimentation, the closest to an answer I can find are the following (all of which is only valid on my computer):
- A .net application containing a method with 16383 parameters can be compiled, ran, and called (!)
- A .net application containing 16384 or more parameters can be compiled, but running such a program throws an unstated exception.
- A .net application containing 50000 parameters can also be compiled, but attempting to run such an application results in a StackOverflowException being thrown.
- Attempting to compile a .net application containing 100000 parameters or more results in csc.exe giving a compile-time error, stating that the resulting expression is too long or complex to handle.
Aside from that, does anyone have a definitive answer to this question?
P.S. If anyone wants to try this experiment on their computer, you can start with my test program, which can be downloaded https://docs.google.com/open?id=0B1Q3uRTkbsXic2cwUFpXanNkSk0
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…