我正在编写一个自动化的 SQLCLR 部署工具,并且我正在使用反射来发现必须声明的过程和函数。所以我使用这样的代码来构建部署组装方法所需的 T-SQL:
...
if (p.ParameterType == typeof(string))
{
sql = "nvarchar(4000)";
}
...
但是这个方法包含一个在 C# 中声明的参数 asout SqlBytes bytes
并且 ParameterType 是SqlBytes&
. 我不能typeof(SqlBytes&)
用于比较,因为语法无效。所以我有点困惑到底是什么SqlBytes&
类型,以及是否有办法为它生成 typeof。我知道我可以求助于类型名称(即字符串)比较,这不是我的问题,我更好奇这样的类型是什么&
,似乎是 C++ 引用类型,但我认为 +10 年使用.Net 我从来没有注意到它们。