나는 다음과 같이 정의 된 함수가 있습니다.결합하면 getPropertyName + 여러 PARAMS 기능 (PARAMS 키워드)
하면 getPropertyName (() => SomeParameter은) -> 문자열 "SomeParameter"
내 문제는 여러 매개 변수의 기능이 결합되어 돌려줍니다.
이 기능을 가지고 :
public static string NameOfFirstEmptyParam(params string[] parameters)
{
foreach (string p in parameters)
{
if (String.IsNullOrWhiteSpace(p))
return GetPropertyName<String>(() => p)
}
return null;
}
당신이 상상할 수 있듯이, 우리가 할 경우이 :
string param0 = "0";
string param1 = "1";
string param2 = null;
NameOfFirstEmptyParam(param0, param1, param2);
기능은 "P"를 반환합니다.
"param2"를 대신 받고 싶습니다. 어떤 제안이나 암시?
고마워요.
params' 사고/우연이 아니다'에 대한 구문을 실행합니다. 호출 코드는 배열을 생성하여 여기에'parameters '라는 단일 매개 변수로 전달해야합니다. 'NameOfFirstEmptyParam' 내부에는 오직 하나의 매개 변수 만 수신됩니다. 전달 된 배열을 채우는 * 일부로 사용 된 변수를 식별하는 데 사용 된 모든 이름은 어떤 방식 으로든 "NameOfFirstEmptyParam"메소드의 "범위 내에"있지 않습니다. –
@Damien_The_Unbeliever와 마찬가지로, 런타임에는'paramX'가 어디에도 없습니다. 이것은'NameOfFirstEmptyParam (new string [] 0, 1, null});'을 쓰는 것과 같습니다. – zaitsman