Skip to content

[C#] Event with numerics (enum/int/byte) argument triggers NullReferenceException #843

Description

@M1raclee

Description of the problem

When I try to call event with any numerics on client-side it triggers an exception:
System.NullReferenceException: Object reference not set to an instance of an object.

client-side code (main class, inherited of Resource. Also tried AsyncResource):

public enum TestEnumEvent
    {
        Test1,
        Test2,
        Test3
    }

    private event Action<TestEnumEvent> TestEvent;
    
    public override void OnStart()
    {
        Alt.Log("Starting resource...");
        TestEvent += EventCallback;
        
        TestEvent?.Invoke(TestEnumEvent.Test2);
        Alt.Log("Started ==> R");
    }
     void EventCallback(TestEnumEvent e)
    {
        Alt.Log($"##### Test event: {e}");
    }

Same problem with int:

private event Action<int> TestEvent;
    
    public override void OnStart()
    {
        Alt.Log("Starting resource...");
        TestEvent += EventCallback;
        
        TestEvent?.Invoke(123);
        Alt.Log("Started ==> R");
    }
    
    void EventCallback(int e)
    {
        Alt.Log($"##### Test event: {e}");
    }

float type just crash the client, with no extra exceptions in client logs

Null-ref triggers on this line:
TestEvent?.Invoke

If I change int/byte/enum to string or custom class - this code works fine, without exceptions

Reproduction steps

  • Create client-side C# resource
  • Create event Action with enum/int/byte param
  • Subscribe on event
  • Trigger event
  • Check console/log file to see null-exception

Expected behaviour

No exceptions for numberics types in Actions

Operating system

Windows 10

Version

Client version: 16.0.100 / 16.0.0-dev.239 / AltV.Net.Client 16.0.3
Server version: 16.0.100 / 16.0.0-dev.239 / AltV.Net 16.0.3

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions