我现在有个这样的数据结构
public abstract class AttributeBinary<T>
protected Dictionary<int, T> _data = new Dictionary<int, T>();
public class AttributeUINT : AttributeBinary<uint>
其中,我有个函数需要这样设计
public override bool Function(WriteStream builder)
{
builder.Process(_data);
return true;
}
因为这个_data是个泛型参数,我有没有什么办法把这玩意作为参数
传递给
public override bool Process(Dictionary<int,T> _data)
{
for (Int32 i = 0; i < iLength; i++)
{
Byte[] bytes = BitConverter.GetBytes(_data[i]);
WriteBytesValue(bytes);
}
return true;
}
T的类型会有很多,uint,float 等等,重载的话也太傻了,
参数类型改成System.Collections.IDictionary的话
BitConverter.GetBytes(_data[i]); 就玩不转了
蛋疼
------解决思路----------------------
我已经补充答复了GetBytes不吃泛型的问题