不,您不能在C#中做到这一点-但通常,替代设计方法是使用委托。在您提供的示例中,
Runnable通常使用表示
ThreadStart,并且您可以使用匿名方法或lambda表达式:
ThreadStart start = () =>{ // Do stuff here};或者,如果您只运行带有正确签名的方法,则可以使用方法组转换:
ThreadStart start = MethodToRunInThread;
或在Thread构造函数中调用:
Thread t = new Thread(MethodToRunInThread);t.Start();
如果确实需要实现一个接口,则必须真正实现它(可能在私有嵌套类中)。但是,根据我的经验,在C#中这种情况并不十分常见-通常C#接口是那种自然会要求“真正”实现的类型,即使在Java中也是如此。



