func_get_arg (php)에 상응하는 내용이 C#입니까?C#에서 func_get_arg와 동일합니까?
func_get_arg (INT의 $의 arg_num는) :
는 사용자 정의 함수의 인수 목록에서 지정된 인수를 가져옵니다.
이 함수는 func_get_args() 및 func_num_args()와 함께 사용하여 사용자 정의 함수에서 가변 길이 인수 목록을 허용 할 수 있습니다.
그것은 기본적으로
감사
func_get_arg (php)에 상응하는 내용이 C#입니까?C#에서 func_get_arg와 동일합니까?
func_get_arg (INT의 $의 arg_num는) :
는 사용자 정의 함수의 인수 목록에서 지정된 인수를 가져옵니다.
이 함수는 func_get_args() 및 func_num_args()와 함께 사용하여 사용자 정의 함수에서 가변 길이 인수 목록을 허용 할 수 있습니다.
그것은 기본적으로
감사
C#을 정적 기능 서명 문제 때문에, 입력 된 ... 인덱스가 인수 값을 얻기 위해 사용될 수 있다는 것을 의미한다. 아무런 수의 인수로도 메소드를 호출 할 수는 없습니다. 실제로는 func_get_arg
이 필요하지 않습니다.
당신은 방법이있는 경우 등 아주 가까이 얻을 수 말했다이 하나
void MyMethod(params object[] args)
{
var indexOfArgument = 42; // or whatever
var valueOfArgument = args[indexOfArgument]; // should also check array bounds
}
물론
모든 인수가 많은 당신이 그들과 함께 할 수있는이 아니다 System.Object
로 입력하는 경우 만에서 구문상의 관점이 가깝습니다 (더하기 어떤 종류의 T
에 대해서도 params T[] args
을 허용하는 메서드를 사용할 수도 있습니다). C#에서
는 방법 "__arglist()" 있다 또는 당신은 쉽게 기능이
int Average(params int[] ints)
{
int total = 0;
foreach(int i in ints) // loop to the number of parameters
total += i;
return (ints.Length > 0 ? total/ints.Length : 0);
}
같은 매개 변수의 변수 번호를 내가 알고있는 것처럼, PHP에서 func_get_arg의 목적은하는 것입니다을 수용 할 수 있습니다 함수에 대한 가변 개수의 인수. 방법 내에서
public void Foo(string realArg, int anotherRealArg, params int[] variableArgs)
{
Console.WriteLine("My real string argument was " + realArg);
Console.WriteLine("My real integer argument was " + anotherRealArg);
Console.WriteLine("And I was given " + variableArgs.Length + " extra arguments");
}
// Usage
Foo("Bar", 1, 2, 3, 4, 5);
variableArgs
정규 배열, 다음은 C#에서 그에게 equivilent입니다. 액세스하기 전에 길이를 확인하여 IndexOutOfRangeException을 얻지 못하게해야합니다.
다음을 확인하십시오. http://stackoverflow.com/questions/214086/how-can-you-get-the-names-of-method-parameters-in-c –
나는 손에서 아무것도 모릅니다. 이것은 C#의 기본 프레임 워크 내에서 이것을 수행합니다. 비슷한 종류의 의존성 삽입 프레임 워크가 있습니다. 당신이 성취하고자하는 것을 아는 것이 도움이 될 것입니다. –
당신이하고 싶은 것을 물어보십시오. 어떻게 하시겠습니까? :) –