2
어떻게해야합니까? TestAction이 "s.Hello"를 작성하도록 항목을 호출하는 방법은 무엇입니까? 지금은 아무 것도하지 않고, "action = s .."줄로 넘어갑니다.작업 방법에서 호출하는 좋은 방법
아니면 다른 방법이 있습니까? 어떤 코드를 반환하고 싶지 않기 때문에 Func 대신 Action을 사용합니다.
방금 Action으로 작업하기 시작했습니다.
public class Items
{
public string Hello { get; set; }
}
public class TestClass
{
public void TestAction(Action<Items> action)
{
action = s => Console.WriteLine(s.Hello);
}
public TestClass()
{
TestAction(b => b.Hello = "Hello world!");
}
}
표현 트리가 아닙니다. 그것은'Expression>'입니다. 그 외에, 좋은 대답. –
람다 자체는 하나입니다. 그러나 나는 그것에 대해 잘못 될 수 있습니다 ... 적어도 표현식 트리를 사용하여 수행 한 작업에 대한 인상을 받았습니다. (작성하고 .Compile()을 통해 델리 게이트를 작성하십시오.) 델리게이트와 언급을 교환했습니다. 그러나 확실하지는 않습니다. – Femaref
이 코드는 트리를 생성하고 컴파일하지 않습니다. 컴파일은 컴파일 타임에 완료됩니다 (이상하게 들리 네요.) System.Linq.Expressions 네임 스페이스의 클래스가이 클래스에서 사용되지 않습니다. 코드. –