日期:2014-05-18  浏览次数:20527 次

CLR 用户自定义类型中的操作符重载
我用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里的操作符重载,那怎么实现我想要的效果。

------解决方案--------------------
你应该去C#版问.
------解决方案--------------------
CLR的可以问问P梁