【发布时间】:2021-07-17 10:44:56
【问题描述】:
如何使用反射检查对象是否为byte[]?我使用这行代码检查typeof(T).GetType().Equals(typeof(byte[])),但它并没有为我解决。这可以实现吗?
public static SetSqlDbType<T>()
{
switch(Type.GetTypeCode(typeof(T)))
{
case TypeCode.Int64:
return SqlDbType.BigInt;
// ... some more cases
case TypeCode.Object:
{
if (typeof(T).GetType().Equals(typeof(byte)))
{
return SqlDbType.VarBinary;
}
}
}
}
【问题讨论】:
-
请给我们看一个不起作用的例子。
-
你也可以在这里用
==代替Equals。但是,这可能无法解决问题,除非您提供您尝试过的内容以及它如何不起作用,否则我们不知道。 -
它对我来说很好@HimBromBeere。只是
GetType()的东西出了问题:)