在C#接口中不能使用自定义数据类型

ywscr8888 2007-10-08 09:34:04
在C#接口中不能使用自定义数据类型
using CLS;
interface IValidata //接口
{
bool Validata(CLS.DataTypes Datatype,string Name);
//bool Validata(int32 Datatype,string Name);
}
//类文件
using CLS;
public class mFun:IValidata
{
public bool validata(CLS.DataTypes Datatype,string Name)
{
return true;
}

//public bool validata(int32 Datatype,string Name)
//{
// return true;
//}
}

问题:若使用CLS.DataTypes (是一个定义好的枚举类型),编译正确.
在类反射时
Assembly asm = Assembly.LoadFile(类生成的DLL文件);
Type[] types = asm.GetTypes();
提示"validata未实现",即接口中的CLS.DataTypes 与
类实现中的CLS.DataTypes 系统认为不是同一种数据类型.(确认是引用的同一文件CLS)

若将CLS.DataTypes 改为int32类型,如改为注释的部分,则正确.
??我想在接口中使用自定义的数据类型,该如何实现
...全文
198 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ywscr8888 2007-10-08
  • 打赏
  • 举报
回复
自己顶一下
ywscr8888 2007-10-08
  • 打赏
  • 举报
回复
自己顶一下
idot 2007-10-08
  • 打赏
  • 举报
回复
interface IValidata<T> //接口
{
bool Validata(T t,string Name);
}

public class mFun :IValidata<int>
{
#region IValidata<T> Members

public bool Validata(int t, string Name)
{
throw new NotImplementedException();
}

#endregion
}

110,534

社区成员

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

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

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