簡體   English   中英

WP7中的擴展

[英]Extension in WP7

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

請任何建議如何開發擴展功能,例如此顏色擴展之一。

  1. 擴展方法可以在類的對象上觸發,而不是在類本身上觸發。
  2. 您的擴展方法是在UInteger類上設置的,而不是在Color 您擴展的類型是第一個方法參數的類型。
  3. 您無法將新方法添加到可能像您嘗試執行的那樣觸發的類。

您可以通過兩種方式使用擴展方法:

  1. 標准方法調用: ColorExtension.ToColor(100)
  2. 使用擴展方法語法: 100.ToColor()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM