【发布时间】:2013-07-17 19:24:53
【问题描述】:
我在 C# 中使用一个接口,而不是编写一个实现该接口的全新类,是否可以只创建一个实现该接口的对象?接口定义为
public interface ITokenStore
{
IToken CreateRequestToken(IOAuthContext context);
IToken CreateAccessToken(IOAuthContext context);
}
而且我知道在 java 中我可以使用类似的东西
ITokenStore tokenStore = new ITokenStore()
{
IToken CreateRequestToken(IOAuthContext context) {
IToken requestToken = null;
return requestToken;
}
IToken CreateAccessToken(IOAuthToken context) {
IToken accessToken = null;
return accessToken;
}
};
是否有等效的方法在 c# 中的接口实例中实例化?
【问题讨论】:
-
Java 仍在幕后创建一个类,它只是语法糖 - 在某种程度上,它们解决了缺少委托/函数指针的问题。
-
使用模拟框架,您可以创建一个实例,例如
new Mock<ITokenStore>()。您可能希望设置模拟框架可能从委托执行的方法的具体实现。