【问题标题】:CLR User Defined Type EnumCLR 用户定义类型枚举
【发布时间】:2011-02-08 19:37:14
【问题描述】:

我可以在 CLR 用户定义类型中使用 Enum 作为属性类型吗?

前(UDT):

public struct MyType
{
    public Enum MyValues
    {
        value1 = 0,
        value2 = 1
    }

    public MyValues Val { get; set; }
}

T-SQL:

DECLARE @t MyType
SET @t.Val = MyType.MyValues.value2

IF (@t.Val = MyType.MyValues.value1) BEGIN
    PRINT 'value1'
END ELSE BEGIN
    PRINT 'value2'
END

【问题讨论】:

    标签: sql-server tsql sqlclr


    【解决方案1】:

    我相信答案是否定的,至少不是你想的那样。您可以将属性声明为您感兴趣的 Enum 类型,但您必须使用 UserDefined 序列化而不是 Native。 User-Defined Type Requirements on MSDN

    【讨论】:

    • 如果我使用 UserDefined 序列化,该属性将如何使用?
    • 我必须仔细检查,但我的猜测是从 T-SQL 中它会用作 Int。
    猜你喜欢
    • 2012-03-10
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    相关资源
    最近更新 更多