// Extracts properties from a WinRT NotifyCollectionChangedEventArgs and creates a new // managed NotifyCollectionChangedEventArgs instance. // This method is called from IL stubs and needs to have its token stabilized. internal static NotifyCollectionChangedEventArgs ConvertToManaged(IntPtr nativeArgsIP) { if (nativeArgsIP == IntPtr.Zero) return null; object obj = WindowsRuntimeMarshal.GetUniqueObjectForIUnknownWithoutUnboxing(nativeArgsIP); INotifyCollectionChangedEventArgs nativeArgs = (INotifyCollectionChangedEventArgs)obj; return CreateNotifyCollectionChangedEventArgs( nativeArgs.Action, nativeArgs.NewItems, nativeArgs.OldItems, nativeArgs.NewStartingIndex, nativeArgs.OldStartingIndex); }
static internal NotifyCollectionChangedEventArgs ConvertToManaged(IntPtr nativeArgsIP) { if (nativeArgsIP == IntPtr.Zero) { return(null); } object obj = System.StubHelpers.InterfaceMarshaler.ConvertToManagedWithoutUnboxing(nativeArgsIP); INotifyCollectionChangedEventArgs nativeArgs = (INotifyCollectionChangedEventArgs)obj; return(new NotifyCollectionChangedEventArgs( nativeArgs.Action, nativeArgs.NewItems, nativeArgs.OldItems, nativeArgs.NewStartingIndex, nativeArgs.OldStartingIndex)); }
// Extracts properties from a WinRT NotifyCollectionChangedEventArgs and creates a new // managed NotifyCollectionChangedEventArgs instance. // This method is called from IL stubs and needs to have its token stabilized. internal static NotifyCollectionChangedEventArgs ConvertToManaged(IntPtr nativeArgsIP) { if (nativeArgsIP == IntPtr.Zero) { return(null); } object obj = Marshal.GetUniqueObjectForIUnknown(nativeArgsIP); INotifyCollectionChangedEventArgs nativeArgs = (INotifyCollectionChangedEventArgs)obj; return(CreateNotifyCollectionChangedEventArgs( nativeArgs.Action, nativeArgs.NewItems, nativeArgs.OldItems, nativeArgs.NewStartingIndex, nativeArgs.OldStartingIndex)); }