相关疑难解决方法(0)

C#扩展方法是否允许通过引用传递参数?

是否真的无法在C#中创建扩展方法,其中实例作为引用传递?

这是一个示例VB.NET控制台应用程序:

Imports System.Runtime.CompilerServices

Module Module1
  Sub Main()
    Dim workDays As Weekdays

    workDays.Add(Weekdays.Monday)
    workDays.Add(Weekdays.Tuesday)

    Console.WriteLine("Tuesday is a workday: {0}", _ 
      CBool(workDays And Weekdays.Tuesday))
    Console.ReadKey()
  End Sub
End Module

<Flags()> _
Public Enum Weekdays
  Monday = 1
  Tuesday = 2
  Wednesday = 4
  Thursday = 8
  Friday = 16
  Saturday = 32
  Sunday = 64
End Enum

Module Ext
  <Extension()> _
  Public Sub Add(ByRef Value As Weekdays, ByVal Arg1 As Weekdays) 
    Value = Value + Arg1
  End Sub
End Module
Run Code Online (Sandbox Code Playgroud)

请注意,Value参数是ByRef传递的. …

c# vb.net extension-methods byref

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

byref ×1

c# ×1

extension-methods ×1

vb.net ×1