问题描述
publicvoidAddUser(IUseruser){SqlHelper.ExecuteNonQuery(DatabaseConfig.ConnectionString,System.Data.CommandType.Text,string.Format(addUser,user.Code),null);}像这种方法我该如何调用?参数的类型怎么是接口?还有例如我写了属性,我该怎么测试我写的属性返回值是否正确?publicIRole[]DeletedRoels{get{List<Role>roels=newList<Role>();DbDataReaderreader=SqlHelper.ExecuteReader(DatabaseConfig.ConnectionString,System.Data.CommandType.Text,getDeletedRoles,null);while(reader.Read()){roels.Add(newRole((string)reader[0]));}returnroels.ToArray();}}属性的类型怎么也可以用接口来表示?本人是初学者,希望大家能帮忙解答
解决方案
解决方案二:
首先告诉你一点接口的最常用方式就是作为参数传递(便于扩展)以及做为方法的返回值publicvoidAddUser(IUseruser)上面的调用方式只要先声明一个IUser接口类型,再传进去就可以了如果你想测试属性返回值是否正确的话,只要直接调用那个类的属性并打印出来就可以了
解决方案三:
接口好啊,提高通用性啊说明只要实现了这个接口的类型就可以传进去啊你说是不是
解决方案四:
实现接口的类就可以传递返回是IRole[]数组,可以判断这个数组是不是null就可以了
解决方案五:
我稍微有点明白了,能举个例子让我看看吗?谢谢
解决方案六:
参数类型是接口,是让你传递一个实现了那个接口的类的对象进去属性其实就是一个方法,返回值是一个实现了这个接口的类的对象,但这个对象的具体类型你不用关心