2009-07-27 2 views
0

아래 코드의 두 번째 단원을 참조하십시오. 코드가 컴파일되지 않습니다. ..C#의 간단한 익명 메서드

하지만 난에 컴파일 .. VS2008를 사용

를 컴파일하지 않는 웹에서 찾을 익명의 방법을 사용하지 않는 예를 곧 방법을 알아 내려고, 나는 그것을 얻을입니다. ISEVEN이 너무 정적해야하므로

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace TestAnonymousMethods 
{ 
    public class Program 
    { 
     // using an anon method 
     static void Mainx(string[] args) 
     { 
      int[] _integers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

      int[] evenIntegers = Array.FindAll(_integers, 
             // this is the anonymous method below 
             delegate(int integer) 
             { 
              return (integer % 2 == 0); 
             } 
       ); 

      foreach (int integer in _integers) 
       Console.WriteLine(integer); 

      foreach (int integer in evenIntegers) 
       Console.WriteLine(integer); 
     } 

     // not using anon method 
     static void Main(string[] args) 
     { 
      int[] _integers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

      int[] evenIntegers = Array.FindAll(_integers, IsEven); // **Compile error here** 

      foreach (int integer in _integers) 
       Console.WriteLine(integer); 

      foreach (int integer in evenIntegers) 
       Console.WriteLine(integer); 
     } 

     public bool IsEven(int integer) 
     { 
      return (integer % 2 == 0); 
     } 


    } 
} 
NET3.5

+3

향후 참조를 위해 질문과 함께 오류 메시지를 포함하면 컴파일 타임 오류가 발생하는 경우 사람들에게 많은 도움이 될 수 있습니다. 보통 코드를 통해 빗질하는 사람들을 구할 수있는 유용한 정보가 들어 있습니다. –

답변

6
public static bool IsEven(int integer) 
{ 
    return (integer % 2 == 0); 
} 

주요 정적이다.

+0

... 많은 감사의 말. –