@@ -117,33 +117,37 @@ public void EnableMeasurementEvents(Instrument instrument, object? state = null)
117
117
/// <param name="measurementCallback">The callback which can be used to get measurement recording of numeric type T.</param>
118
118
public void SetMeasurementEventCallback < T > ( MeasurementCallback < T > ? measurementCallback ) where T : struct
119
119
{
120
- if ( measurementCallback is MeasurementCallback < byte > byteCallback )
120
+ if ( measurementCallback is null )
121
121
{
122
- _byteMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : byteCallback ;
122
+ measurementCallback = ( instrument , measurement , tags , state ) => { /* no-op */ } ;
123
123
}
124
- else if ( measurementCallback is MeasurementCallback < int > intCallback )
124
+ if ( typeof ( T ) == typeof ( byte ) )
125
+ {
126
+ _byteMeasurementCallback = ( MeasurementCallback < byte > ) ( object ) measurementCallback ;
127
+ }
128
+ else if ( typeof ( T ) == typeof ( int ) )
125
129
{
126
- _intMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : intCallback ;
130
+ _intMeasurementCallback = ( MeasurementCallback < int > ) ( object ) measurementCallback ;
127
131
}
128
- else if ( measurementCallback is MeasurementCallback < float > floatCallback )
132
+ else if ( typeof ( T ) == typeof ( float ) )
129
133
{
130
- _floatMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : floatCallback ;
134
+ _floatMeasurementCallback = ( MeasurementCallback < float > ) ( object ) measurementCallback ;
131
135
}
132
- else if ( measurementCallback is MeasurementCallback < double > doubleCallback )
136
+ else if ( typeof ( T ) == typeof ( double ) )
133
137
{
134
- _doubleMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : doubleCallback ;
138
+ _doubleMeasurementCallback = ( MeasurementCallback < double > ) ( object ) measurementCallback ;
135
139
}
136
- else if ( measurementCallback is MeasurementCallback < decimal > decimalCallback )
140
+ else if ( typeof ( T ) == typeof ( decimal ) )
137
141
{
138
- _decimalMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : decimalCallback ;
142
+ _decimalMeasurementCallback = ( MeasurementCallback < decimal > ) ( object ) measurementCallback ;
139
143
}
140
- else if ( measurementCallback is MeasurementCallback < short > shortCallback )
144
+ else if ( typeof ( T ) == typeof ( short ) )
141
145
{
142
- _shortMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : shortCallback ;
146
+ _shortMeasurementCallback = ( MeasurementCallback < short > ) ( object ) measurementCallback ;
143
147
}
144
- else if ( measurementCallback is MeasurementCallback < long > longCallback )
148
+ else if ( typeof ( T ) == typeof ( long ) )
145
149
{
146
- _longMeasurementCallback = ( measurementCallback is null ) ? ( ( instrument , measurement , tags , state ) => { /* no-op */ } ) : longCallback ;
150
+ _longMeasurementCallback = ( MeasurementCallback < long > ) ( object ) measurementCallback ;
147
151
}
148
152
else
149
153
{
0 commit comments