【发布时间】:2010-10-11 02:18:35
【问题描述】:
我有一个类,其中包含每个原始类型、字符串和 INetSerializable 的类 Append 成员:
public class TypeAppender
{
public void Append(int i ) {}
public void Append(double d) {}
public void Append(string s){}i){}
public void Append(INetSerializable ins){}
}
从另一个类,我想通过传递 Object 来“笼统地说”这个方法
说我有类似的东西:
class SomeClientClass
{
TypeAppender _appender=new TypeAppender ();
Dictionary<string, Object> _cmdTable =new Dictionary<string, Object>();
public void Process()
{
foreach(KeyValuePair<string, Object> pair in cmdTable )
{
_appender.Append(pair.Key);
Object obj = pair.Value;
if (obj is int)
_appender..Append((int)obj);
else if (obj is double)
_appender..Append((double)obj);
else if (obj is char)
_appender..Append((char)obj);
else if (obj is string)
_appender..Append((string)obj);
}
}
public void AddParam<T>(string key, T value)
{
_cmdTable.Add(key, value);
}
}
问题 #1:pair.Value 是否会被拆箱为正确的原语?
问题 #2: AddParam 成员函数有什么问题吗?
谢谢
【问题讨论】: