IKeyValuePair<K, V>.fromRawPointer constructor
IKeyValuePair<K, V>.fromRawPointer (})
Creates an instance of IKeyValuePair using the given ptr.
K must be of type Guid, int, Object, String, or WinRTEnum
(e.g. PedometerStepKind).
V must be of type Object, String, or WinRT (e.g. IJsonValue,
ProductLicense).
creator must be specified if V is a WinRT type.
final keyValuePair =
IKeyValuePair<String, IJsonValue?>.fromRawPointer(ptr,
creator: IJsonValue.fromRawPointer);
enumCreator must be specified if V is a WinRTEnum type.
final keyValuePair =
IKeyValuePair<String, ChatMessageStatus>.fromRawPointer(ptr,
enumCreator: ChatMessageStatus.from);
Implementation
IKeyValuePair.fromRawPointer(
super.ptr, {
V Function(Pointer<COMObject>)? creator,
K Function(int)? enumKeyCreator,
V Function(int)? enumCreator,
}) : _creator = creator,
_enumKeyCreator = enumKeyCreator,
_enumCreator = enumCreator {
if (!isSupportedKeyValuePair<K, V>()) {
throw ArgumentError('Unsupported key-value pair: IKeyValuePair<$K, $V>');
}
if (isSubtypeOfInspectable<V>() && creator == null) {
throw ArgumentError.notNull('creator');
}
if (isSubtypeOfWinRTEnum<K>() && enumKeyCreator == null) {
throw ArgumentError.notNull('enumKeyCreator');
}
if (isSubtypeOfWinRTEnum<V>() && enumCreator == null) {
throw ArgumentError.notNull('enumCreator');
}
}