3

我正在迁移一些自己构建的“框架”dll,并且遇到了意外的行为。我已将问题简化为以下内容:

我有一个带有依赖属性的自定义组合框

Public Class MyCombobox
Inherits ComboBox

Public Property MyString As String
    Get
        Return CInt(GetValue(MyStringProperty))
    End Get

    Set(ByVal value As String)
        SetValue(MyStringProperty, value)
    End Set
End Property

Public Shared ReadOnly MyStringProperty As DependencyProperty = DependencyProperty.Register("MyString", GetType(String), GetType(MyCombobox), New FrameworkPropertyMetadata())

End Class

当我调用此代码时:

Dim descriptor As DependencyPropertyDescriptor = DependencyPropertyDescriptor.FromProperty(MyCombobox.MyStringProperty, New MyCombobox().GetType())

这返回

在 .NET 3.5 -> 一个有效的 PropertyDescriptor

在 .NET 4.0 中 -> 无、Niente、Nada、Null

这是 .NET 框架中的错误吗?它已经被弃用了吗?我还有其他选择来获取描述符吗?

4

0 回答 0