我想创建一个可以用于不同类型的界面。像表可以是不同类型的表,例如Integer,String,Date。
以下文章有很大帮助。
ListBox, list of different objects implementing the same interface
List of two different Types in C#
我遇到的问题是我仍然需要一个可以处理不同类型数据的通用接口。我怎么能绕过这个?
我可以将主接口存储作为字符串,并且所有类型都可以转换为?
interface IMytype
{
string Item { get; set; }
}
class Myint : IMember
{
public int Item {
get; // code here IMytype.Item (get) then convert to int
set; // code here to convert to string then IMytype.Item (set)
}
}
示例
IMytype testint = new MyInt();
testint.Item = 10;
List<IMytype> testlist = new List<IMytype>();
testlist.add(testint);
我是在正确的轨道上吗?
答案 0 :(得分:2)
接口是一个合同,说明该类将提供什么行为。它 不应该指定该类将保存的数据。
您希望建立符合特定合同的对象列表 - 您希望它们都以特定方式运行。你会感到困惑的是,这些类都有不同的内部表示 - 一些代表整数,另一些代表浮点数等。
您需要退后一步,并决定您希望这些类实现的共享行为。这将构成您界面的基础。
所以你希望能够获得数据的String表示。这是您的界面的一种方法。
您希望该类能够接收字符串并将其转换为其内部类型吗?另一种方法。
这些类型是否需要Wangle a Flux Capacitor?
有你的界面。
interface IMytype
{
string GetStringValue ();
void ReadString ( string value);
bool WangleFluxCapacitor();
}
首先考虑共享行为。