Regulus.Remote.Tools.Protocol.Sources/Codes/RegulusRemoteIGhostEventAddEventEvent.cs
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
namespace Regulus.Remote.Tools.Protocol.Sources.Codes
{
public static partial class RegulusRemoteIGhost
{
public static readonly MemberDeclarationSyntax EventAddEventEvent = EventDeclaration(
_RegulusRemoteEventNotifyCallback,
Identifier("AddEventEvent")
)
.WithExplicitInterfaceSpecifier(
ExplicitInterfaceSpecifier(
_RegulusRemoteIGhost
)
)
.WithAccessorList(
AccessorList(
List(
new AccessorDeclarationSyntax[]{
AccessorDeclaration(
SyntaxKind.AddAccessorDeclaration
)
.WithBody(
_Block(SyntaxKind.AddAssignmentExpression, "_AddEventEvent")
),
AccessorDeclaration(
SyntaxKind.RemoveAccessorDeclaration
)
.WithBody(
_Block(SyntaxKind.SubtractAssignmentExpression, "_AddEventEvent")
)
}
)
)
);
}
}