使用 `struct` 还是 `class` 编写 SQL Server CLR UDTs 有哪些相对优点?

4
几乎所有的SQL Server CLR用户定义类型的代码示例都将类型实现为结构体(struct)。然而,Microsoft表明,将它们创建为类(class)也是一种选择,但我似乎找不到任何关于每个选择的优点的文档或讨论。
在什么情况下,人们会选择分别将SQL CLR UDT实现为结构体或类?
1个回答

1

好的,建议将它们定义为结构。但请注意:

然而,在你构建类时你可以使用继承,你可以在类型的托管代码实现中调用这些方法。

现在,因为结构体无法继承,如果你打算使用继承,你必须将它定义为一个类。


但是,“为什么建议将它们作为结构体使用”?为什么不总是使用更灵活的“类”呢? - user
1
@MichaelKjörling - 据我所知,目前没有公开给出的原因。但是如果您将您的类型实现为 struct,那么您更有可能实现一种本地序列化可用的类型,例如。 - Damien_The_Unbeliever

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接