internal static KeyValuePair <K, V> ConvertToManaged <K, V>(IntPtr pInsp) { object obj = InterfaceMarshaler.ConvertToManagedWithoutUnboxing(pInsp); IKeyValuePair <K, V> keyValuePair = (IKeyValuePair <K, V>)obj; return(new KeyValuePair <K, V>(keyValuePair.Key, keyValuePair.Value)); }
internal static T?ConvertToManaged <T>(IntPtr pNative) where T : struct { if (pNative != IntPtr.Zero) { return((T?)CLRIReferenceImpl <T> .UnboxHelper(InterfaceMarshaler.ConvertToManagedWithoutUnboxing(pNative))); } return(new T?()); }