CLR 用户自定义类型中的操作符重载

bala7229291 2011-09-14 07:54:21
我用C#写了一个CLR 用户自定义类型 ,假设数据类型名为 type1
我同时写了这种数据类型加法的实现方法 addtype1()

不谈建立CLR类型的过程,最后我在查询处理器里使用addtype1()方法是没有任何问题
假如
declare @a type1;
declare @b type1;

set @a = 1;
set @b = 1;

select @a + @b;

查询处理器提示:运算符对数据类型无效。运算符为 add,类型为 type1。

我考虑应该是操作符重载的问题,于是我到C#下重新写了一个操作符重载
public static type1 operator+ (type1 a, type b)
{... ...}

并且在C#下运行没问题

可是更新程序集到SQL Server后,执行select @a + @b 还是提示:运算符对数据类型无效。运算符为 add,类型为 type1

请问高手要怎么解决,是否不能使用C#里的操作符重载来实现SQL Server里的操作符重载,那怎么实现我想要的效果。
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2011-09-15
  • 打赏
  • 举报
回复
CLR的可以问问P梁
bala7229291 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]
CLR的可以问问P梁
[/Quote]
谢谢,我刚查了一下资料,似乎SQL Server 2005还不支持CLR用户自定义类型的运算符重载,遗憾,只能使用 select col.method()的形式,我先结贴了,希望有这方面经验的朋友给不同的意见
bala7229291 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
你应该去C#版问.
[/Quote]
只是我觉得这个问题应该是C#和SQL Server有交集的问题,而且我觉得跟SQL Server关系更密切,不过我会尝试去C#版问一下
dawugui 2011-09-14
  • 打赏
  • 举报
回复
你应该去C#版问.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧