2012-02-15 5 views
0

ForEach<T>(T[] array, Action<T> action)의 코드는 어떻게 볼 수 있습니까?Array.ForEach in C#

정의가 아니거나이 방법의 코드는 어떻게 사용합니까?

나는 T를 해당 메서드에 전달 된 형식으로 넣을 때 매개 변수 형식을 변경하는 방법을 알아야합니다.

예 : 난 < 내부의 종류를 넣으면

Array.ForEach<string>(string[] array, Action<string> action); 

Array.ForEach<int>(int[] array, Action<int> action); 

Array.ForEach<whateverTypeHere>(whateverTypeHere[] array, Action<whateverTypeHere> action); 

>은 변수도 변화한다. 어쨌든 그것을하는 방법? :)

+7

그것은 대해 전부 이해할 수있을 것이다 [제네릭 (http://msdn.microsoft.com/en-us/library/ms379564 (V = 대. 80) .aspx). – ken2k

+0

@ ken2k와 마찬가지로 제네릭에 관해 읽어 보시기 바랍니다. 기본적으로 컴파일러는 코드에서 찾은 각 제네릭 형식에 대한 클래스를 만듭니다. 호기심 외에도, .net 메소드의 내부 세부 사항을 알 필요가 없습니다. –

+0

감사합니다. @ ken2k .. –

답변

3
public class Test<TFirst,TSecond> 
{ 
    public TFirst First;public TSecond Second; 
} 

내가이 클래스의 새로운 인스턴스를 작성하는 경우, 당신이 INT 또는 문자열 같은 유형을 전달하면 자동으로 컴파일러가 재산의 유형을 추론합니다

Test<int,string> objName=new Test<int,string>{ First=1, Second="Microsoft"}; 

과 같이 표시됩니다 .

당신은 그것을 연습 시도해야, 당신은