开发者

VB.NET to C# conversion -- Interface Event declaration for non-EventHandler events

开发者 https://www.devze.com 2022-12-12 04:29 出处:网络
Ran into this while converting a VB.NET interface to C#; the VB version defines an event which doesn\'t conform to the typical (object sender, EventArgs e) signature:

Ran into this while converting a VB.NET interface to C#; the VB version defines an event which doesn't conform to the typical (object sender, EventArgs e) signature:

VB

Public Class SomeType
    ' Does *NOT* inherit from EventArgs
End Class

Public Interface ISomething
    Public Event SomeEvent(sender as Object, value as SomeType)
End Interface

What's the C# equivalent for ISomething? My attempts so far have failed to compi开发者_JAVA百科le:


You'll need a delegate type declaration:

public delegate void SomeEventHandler(object sender, SomeType value)

public class SomeType
{
}

public interface ISomething
{
    public event SomeEventHandler SomeEvent;
}

Or in .NET 3.5 you could use the built-in Action type:

public class SomeType
{
}

public interface ISomething
{
    public event Action<object, SomeType> SomeEvent;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消