示例#1
0
        public void Raise()
        {
            if (_signalTypeClass == null)
            {
                return;
            }

            var signal = Activator.CreateInstance(_signalTypeClass);

            for (var index = 0; index < _paramFieldInfos.Length; index++)
            {
                var signalField = _paramFieldInfos[index];
                if (_parameters.Length > index)
                {
                    signalField.SetValue(signal, _parameters[index]);
                }
            }

            if (_fireAbstract)
            {
                _signalBus.AbstractFire(signal);
            }
            else
            {
                _signalBus.Fire(signal);
            }
        }