Sql server 将SQL Server CLR UDT编写为'struct'或'class'的相对优点是什么?

Sql server 将SQL Server CLR UDT编写为'struct'或'class'的相对优点是什么?,sql-server,sqlclr,user-defined-types,Sql Server,Sqlclr,User Defined Types,几乎每个SQL Server CLR用户定义类型的代码示例都将该类型实现为结构。然而,我似乎找不到任何关于每种选择的相对优点的文档或讨论 在什么情况下,人们会选择将SQL CLR UDT分别实现为结构或类?好的,建议将它们作为结构。但请注意: 但是,在构造类时可以使用继承,并且可以在类型的托管代码实现中调用此类方法 现在,既然structs不能继承,如果您计划使用继承,那么您必须将它作为类来继承,但是为什么“建议将它们作为结构来继承”?为什么人们不总是使用更通用的类呢?@MichaelKjörl

几乎每个SQL Server CLR用户定义类型的代码示例都将该类型实现为结构。然而,我似乎找不到任何关于每种选择的相对优点的文档或讨论


在什么情况下,人们会选择将SQL CLR UDT分别实现为结构或类?

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

但是,在构造类时可以使用继承,并且可以在类型的托管代码实现中调用此类方法


现在,既然
struct
s不能继承,如果您计划使用继承,那么您必须将它作为

来继承,但是为什么“建议将它们作为结构来继承”?为什么人们不总是使用更通用的
类呢?@MichaelKjörling-就我所知,没有公开给出的理由。但是,如果将类型实现为
结构
,则更可能实现一个本机序列化可以工作的类型。