【发布时间】:2013-04-12 16:59:19
【问题描述】:
我们如何在接口中实现静态方法...?
public interface ICache
{
//Get item from cache
static object Get(string pName);
//Check an item exist in cache
static bool Contains(string pName);
//Add an item to cache
static void Add(string pName, object pValue);
//Remove an item from cache
static void Remove(string pName);
}
以上界面报错:修饰符'static'对此项无效
【问题讨论】:
-
使它成为一个普通的接口,并使用类似单例的东西来实现它(不一定是标准的单例)。不要使用静态方法来创建缓存。
-
不,这些不是同一个问题。在另一个问题中,该人从相同的接口派生,但在派生类中他有一个非静态方法。在这个问题中,我们希望所有派生类都实现一个静态方法。这基本上是一份合同。任何实现 ICache 的东西都有一个静态的 get 方法。我不相信答案。我们可以有这种合同或分类......
标签: c#