基于同一接口C#问题的不同类型列表
我想创建一个可以用于不同类型的接口。就像一个表,其中的列可能是不同类型的,例如整数、字符串、日期 下面的文章很有帮助 我的问题是,我仍然需要一个可以处理不同类型数据的通用接口。我怎样才能避开这件事 我是否可以将主接口存储作为字符串,并将所有类型转换为字符串和字符串基于同一接口C#问题的不同类型列表,c#,list,interface,types,C#,List,Interface,Types,我想创建一个可以用于不同类型的接口。就像一个表,其中的列可能是不同类型的,例如整数、字符串、日期 下面的文章很有帮助 我的问题是,我仍然需要一个可以处理不同类型数据的通用接口。我怎样才能避开这件事 我是否可以将主接口存储作为字符串,并将所有类型转换为字符串和字符串 interface IMytype { string Item { get; set; } } class Myint : IMember { public int Item {
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);
IMytype testint=new MyInt();
试验项目=10;
List testlist=新列表();
testlist.add(testint);
我在正确的轨道上吗?接口是一个契约,它规定了类将提供什么行为。它不应该指定类将保存哪些数据 您希望建立一个符合特定契约的对象列表—您希望它们都以特定的方式运行。这些类都有不同的内部表示,有些表示int,有些表示float等等,这让您感到困惑 您需要后退一步,决定希望这些类实现什么样的共享行为。这将构成界面的基础 所以您希望能够获得数据的字符串表示形式。这是接口的一种方法
interface IMytype
{
string GetStringValue ();
void ReadString ( string value);
bool WangleFluxCapacitor();
}
您希望类能够接收字符串并将其转换为其内部类型吗?还有另一种方法
这些类型的电容器需要更换磁通电容器吗
这是你的界面
interface IMytype
{
string GetStringValue ();
void ReadString ( string value);
bool WangleFluxCapacitor();
}
首先考虑共享行为。也许您的返回类型应该是objectRe:转换为字符串或从字符串转换为字符串的想法。通用代码将如何处理字符串?@Daniel我正在考虑一种存储所有数据的通用方法。主要思想是稍后重写代码以绑定到datagridview,我正在考虑在虚拟模式下使用datagridview,因为它太复杂了。@HadleyHope通过对象列表做到了这一点,它要简单得多感谢许多感谢我认为我可以使用T通用参数基本上我想要一个列表,但后一个列表将是字符串、整数或日期等的混合列表。是的,但是你创建列表并不是因为你想要一个列表——你创建这个列表是因为你想要解决一个问题。你想解决的问题是什么?不要考虑数据类型,想想你想用它们做什么!实际上,我解决了关于对象的问题,只是创建了一个对象列表,然后使用getype的基于类型的条件方法在
bool
的+1中运行良好。我需要在我们的公司代码中的某个地方写上这句话,只是为了好玩。:)