에서 정적이 아닌 메서드를 사용하여 대리자를 사용하여 클로저를 가져 오기 위해 Using delegates with non static methods [no picked answer] 과 같은 질문을합니다.C#
그래서 나는 @ 아담 마샬의 솔루션을 사용, 작동,하지만 최대한 빨리 시작으로, 즉, Testit()
그것을 사용 :
A object reference is required for the non-static field, method, or property
:
using System;
public class TestClass
{
private delegate void TestDelegate();
TestDelegate testDelegate;
public TestClass()
{
testDelegate = new TestDelegate(MyMethod);
}
public static void Testit()
{
testDelegate();
}
private virtual void MyMethod()
{
Console.WriteLine("Foobar");
}
}
public class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
TestClass.Testit();
}
}
그것은 followig 오류를 제공하기 시작 당신은 test it out here 일 수 있습니다. 어떻게 고칠 수 있습니까? (가능한 경우 다른 게시물로 이동하지 말고 읽었지만 이해할 수는 없습니다.) Thx.
난 당신이 코드와 해당 오류를 얻을 것 방법을 모르겠어요. 이것은 허용되지 않는 정적 멤버 내에서 비 정적 멤버를 사용하려고합니다. 인스턴스 구성원을 호출하려면 인스턴스가 필요합니다. 바이올린은 인스턴스가 필요하다는 오류를 생성합니다. –