Imports System.Runtime.CompilerServices
Public Module ColorExtension
<Extension()> _
Public Function ToColor(ByVal argb As UInteger) As Global.System.Windows.Media.Color
Return Global.System.Windows.Media.Color.FromArgb(CByte((argb And -16777216) >> &H18), CByte((argb And &HFF0000) >> &H10), CByte((argb And &HFF00) >> 8), CByte(argb And &HFF))
End Function
End Module
Public Class Test
Private Sub TestExt()
Dim Col As System.Windows.Media.Color
Col = System.Windows.Media.Color.ToColor(100)'<-- Error
Col.ToColor(100)'<-- Error
End Sub
End Class
当我使用此代码时,我遇到了这个异常 错误1“ToColor”不是“System.Windows.Media.Color”的成员。 C:... \ ColorExtension.vb
请建议如何开发扩展功能,如此Color扩展功能。
答案 0 :(得分:1)
UInteger
课程上,而不是Color
上。你扩展的类型是第一个方法参数的类型。您可以通过两种方式使用扩展方法:
ColorExtension.ToColor(100)
100.ToColor()