반응형
Action에서 매개 변수를 어떻게 전달할 수 있습니까?
private void Include(IList<string> includes, Action action)
{
if (includes != null)
{
foreach (var include in includes)
action(<add include here>);
}
}
그렇게 부르고 싶어
this.Include(includes, _context.Cars.Include(<NEED TO PASS each include to here>));
아이디어는 각 include를 메소드에 전달하는 것입니다.
전달하려는 매개 변수를 알고있는 경우 Action<T>
유형으로 a 를 사용하십시오. 예:
void LoopMethod (Action<int> code, int count) {
for (int i = 0; i < count; i++) {
code(i);
}
}
매개 변수를 메소드에 전달하려면 메소드를 일반화하십시오.
void LoopMethod<T> (Action<T> code, int count, T paramater) {
for (int i = 0; i < count; i++) {
code(paramater);
}
}
그리고 발신자 코드 :
Action<string> s = Console.WriteLine;
LoopMethod(s, 10, "Hello World");
최신 정보. 코드는 다음과 같아야합니다.
private void Include(IList<string> includes, Action<string> action)
{
if (includes != null)
{
foreach (var include in includes)
action(include);
}
}
public void test()
{
Action<string> dg = (s) => {
_context.Cars.Include(s);
};
this.Include(includes, dg);
}
Action<T>
매개 변수를 사용하는을 찾고 있습니다.
더티 트릭 : 람다 식을 사용하여 매개 변수가있는 호출을 포함하여 원하는 코드를 전달할 수도 있습니다.
this.Include(includes, () =>
{
_context.Cars.Include(<parameters>);
});
참고 URL : https://stackoverflow.com/questions/4965508/how-can-i-pass-a-parameter-in-action
반응형
'programing tip' 카테고리의 다른 글
LINQ에서 하위 쿼리를 수행하는 방법은 무엇입니까? (0) | 2020.11.18 |
---|---|
접기가있는 notepad ++ 사용자 정의 영역 (0) | 2020.11.18 |
중복 된 행의 인덱스 찾기 (0) | 2020.11.18 |
CURLOPT_HTTPHEADER로 curl_setopt를 여러 번 호출하여 여러 헤더를 설정할 수 있습니까? (0) | 2020.11.18 |
empty () 벡터에 대해 begin () == end ()입니까? (0) | 2020.11.18 |