我不知道该如何回答我的问题。它是关于Android可以实例化接口的。我正在尝试用 C# 来做。现在我非常确定 Java 和 C# 的规则是不能创建抽象和接口的实例。
但我很想知道Android是如何做到这一点的。
在 Android 中你可以这样做。
public interface Checkme{
void Test();
void Test2();
}
public void myFunc(Checkme my){
//do something
}
// Now this is the actual usage.
public void Start(){
myFunc(new Checkme(){
@Override
public void Test()
{
}
@Override
public void Test2()
{
}
});
}
实际上一旦你按下 Enter 键new Checkme()
您将自动获得该接口的 Override 方法。就像 C# 中接口的 auto Implement 方法一样。
我希望我的问题有意义。
C# 不支持匿名自动实现的接口,因为它有代表们:
public void Foo(Func<string> func, Action action) {}
// call it somewhere:
instance.Foo(() => "hello world", () => Console.WriteLine("hello world"));
使用委托可以填补这个空白,它甚至比使用匿名类实现接口更强大。
了解有关代表的更多信息 https://msdn.microsoft.com/en-us/library/ms173171.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)