【发布时间】:2014-09-09 12:25:01
【问题描述】:
我有
public bool AddParameter<T>(string pattern, SqlDbType parameterType, int length, T value)
{
}
我需要一个字符串的特殊情况,它应该被截断(MS 不会对我这样做,我不知道他们需要的第一手长度)。所以我尝试用我的最终结果查询T是否为字符串
if(value is string) {
}
等待一些测试。现在我需要在value 上做一些类型转换来做字符串函数,因为
value = value.Substring(0,length);
不起作用。所以我试了一下:
value = (T)(((string)value).Substring(0,length));
但是从 T 到字符串的转换是不可能的。我猜 value.ToString() 会产生相同的结果,所以我再次尝试:
value = (T)((value.ToString()).Substring(0,length);
但从字符串到 T 的转换也是不可能的。有人能帮我走出迷宫吗?
【问题讨论】:
-
您真的要提供一个修改参数的
AddParameter<T>方法吗?这些东西很容易被遗忘。 -
是的,我想要。但是我在代码中添加了以下非常重要的行:
dbg.Warn("Truncated "+pattern+" to "+length+" characters.");。当一半的行仅用于调试目的时,部署的代码更易于维护。 :D
标签: c# string type-conversion