BasicEvent

A basic event that takes an EventArgs as arguments

class BasicEvent : Event!EventArgs

Examples

Test the creation and execution of a basic event

class TestEventArgs : EventArgs {
	string name;

	this(string name) {
		this.name = name;
	}
}
bool wasRun;

// Test creation
auto eventHandler = (void* sender, EventArgs args) {
	TestEventArgs testArgs = cast(TestEventArgs)args;
	assert(testArgs.name == "test", "Expected value of event args to be \"Test\"");
	wasRun = true;
};

BasicEvent testEvent = new BasicEvent;
testEvent ~= eventHandler;

// Test execution
testEvent(null, new TestEventArgs("test"));
assert(wasRun, "Expected event to be executed!");

// Test deletion of event handler
testEvent -= eventHandler;
assert(testEvent.count == 0, "Expected event to have no handlers!");

Meta