我有这个课程
spring-data-jpa-1.1.0.RELEASE.jar
所以现在我可以从课外访问:
class Class1
{
public static List<int> abc = new List<int>();
}
我想做的是: 我想&#34; Class1&#34;从INTERFACE实施并实施这个&#34; abc&#34; 我可以做Class1.abc.Add(2);
我的意思是abc将在界面上..
我已经尝试过这样做,但我没有取得任何成功 我该怎么办? 谢谢!
答案 0 :(得分:1)
正如其他人所说,只有对象可以在C#中实现接口。有关详细说明,请参阅Why Doesn't C# Allow Static Methods to Implement an Interface?。
相反,您可以使用Factory(用于创建其他对象的对象)或Singleton模式(使用对象的单个实例)。这些可以实现一个接口,包括你提到的“添加”方法。
例如,而不是:
class Class1
{
public static List<int> abc = new List<int>();
}
Class1.abc.Add(1); // Add numbers
......有类似......
interface IListInterface
{
List<int> List;
}
class Lists: IListInterface
{
public Lists()
{
List = new List<int>();
}
public List<int> List
{
get;
}
}
// Using the above
public void AddToList(IListInterface lists, int a)
{
lists.List.Add(a);
}
通过使用接口标准化您对列表的访问,并允许您交换列表界面的实现,而不会影响使用代码,这对自动化测试很有用。