接口怎么传递类参数(类参数不同)?

bluecyclone 2006-12-20 05:50:32
public class property1
{
private int _ID;
public int ID
{
get{return _ID;}
set{_ID = value;}
}
......
}
public class property2
{
private int _ID;
public int ID
{
get{return _ID;}
set{_ID = value;}
}
......
}
public interface Iinterface
{
void Add();//这里的参数怎么传递?
}
public class class1: Iinterface
{
public void add(property1 pro)
{
//.......
}
}
public class class2: Iinterface
{
public void add(property2 pro)
{
//.......
}
}
...全文
261 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eddie005 2006-12-20
  • 打赏
  • 举报
回复
不可能没办法建立基类~ .net里所有的类都是从一个类派生的:object~
bluecyclone 2006-12-20
  • 打赏
  • 举报
回复
几个属性类,类型类不一样。
所以没办法建立基类。
Eddie005 2006-12-20
  • 打赏
  • 举报
回复
那就按xiaotupansy的方法做,为property1和 property2增加一个基类
public class propertyBase
{
//可以没有任何代码
}
public class property1:propertyBase
{
private int _ID;
public int ID
{
get{return _ID;}
set{_ID = value;}
}
......
}
public class property2:propertyBase
{
private int _ID;
public int ID
{
get{return _ID;}
set{_ID = value;}
}
......
}

public interface Iinterface
{
void Add(propertyBase p);//这里的参数怎么传递?
}
bluecyclone 2006-12-20
  • 打赏
  • 举报
回复
object类型倒是可以传递。
但是在接收的时候,必须,要多一步实现:
public void Add(object obj)
{
property1 pro = (property1)obj;
}
bluecyclone 2006-12-20
  • 打赏
  • 举报
回复
那么实现的时候,岂不是要多实现一个接口?!
这样好像不符合设计吧!
xiaotupansy 2006-12-20
  • 打赏
  • 举报
回复
新建一个类class property,然后让 property1, property2都继承自这个类
public interface Iinterface
{
void Add(property p);//这里的参数怎么传递?
}
这样写就可以了
Eddie005 2006-12-20
  • 打赏
  • 举报
回复
C#2.0的话可以用泛型~
bluecyclone 2006-12-20
  • 打赏
  • 举报
回复
感谢!
Eddie005 2006-12-20
  • 打赏
  • 举报
回复
public interface Iinterface
{
void Add(property1 tmp);
void Add(property2 tmp);
}

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧