使用 Linq 进行 C# 通用转换
我有一个与 linq 类交互并使用 System.Data.Linq.Binary 数据类型的类。我正在尝试编写一个简单的类,该类采用通用排列来表示存储为二进制的数据类型:
// .Value is a System.Data.Linq.Binary DataType
public class DataType<T> where T : class
{
public T Value
{
get
{
return from d in Database
where d.Value = [Some Argument Passed]
select d.Value as T;
}
}
}
public class StringClass : DataType<string>
{
}
public class ByteClass : DataType<byte[]>
{
}
StringClass.Value
会正确地从数据库中转换并返回string
吗?
ByteClass.Value
能否正确转换并从数据库返回 byte[]
?
我的主要问题基本上解决了如何使用 System.Data.Linq.Binary 。
编辑:如何将 System.Data.Linq.Binary 转换为 T,其中 T 可以是任何值。我的代码实际上不起作用,因为我无法使用 as 将 Binary 转换为 T。
I have a class that interfaces with a linq class and uses the System.Data.Linq.Binary datatype. I'm trying to write a simple class that takes a generic arrangement that denotes the datatype stored as binary:
// .Value is a System.Data.Linq.Binary DataType
public class DataType<T> where T : class
{
public T Value
{
get
{
return from d in Database
where d.Value = [Some Argument Passed]
select d.Value as T;
}
}
}
public class StringClass : DataType<string>
{
}
public class ByteClass : DataType<byte[]>
{
}
Will StringClass.Value
correctly cast and return a string
from the database?
Will ByteClass.Value
correctly cast and return a byte[]
from the database?
My main question basically resolves around how System.Data.Linq.Binary can be used.
Edit: How do I convert System.Data.Linq.Binary to T where T can be anything. My code doesn't actually work because I can't cast Binary to T using as.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
本质上你正在做的事情
,
str 和 bArray 都将为 null;
你会需要类似的东西
essentially you are doing
and
both str and bArray will be null;
you will need something like