Bonjour

J’essaie de convertir une code C# en Vb pour les besoins d'une application personnel en WPF mais je bloque sur une partie :
Inherits System.Windows.IDataObject : erreur ''Les classes de peuvent hériter que d'autres classes''
<MarshalAs ... : erreur ''Lattibut 'MarshalAsAttribute' ne peut pas être appliqué à 'CreateStream', car il n'est pas valide dans ce type de déclaration.
Conversion VB :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Namespace WpfApplication1
 
    Public Class OutlookDataObject
        Inherits System.Windows.IDataObject
 
#Region "NativeMethods"
        Private Class NativeMethods
 
            Private Declare Function GlobalLock Lib "kernel32.dll" (ByVal hMem As IntPtr) As IntPtr
 
            Public Declare Function CreateILockBytesOnHGlobal Lib "ole32.dll" (ByVal hGlobal As IntPtr, ByVal fDeleteOnRelease As Boolean) As ILockBytes
 
            Public Declare Function GetHGlobalFromILockBytes Lib "OLE32.DLL" (ByVal pLockBytes As ILockBytes) As IntPtr
 
            Public Declare Function StgCreateDocfileOnILockBytes Lib "OLE32.DLL" (ByVal plkbyt As ILockBytes, ByVal grfMode As UInteger, ByVal reserved As UInteger) As IStorage
 
            <ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("0000000B-0000-0000-C000-000000000046")>
            Public Interface IStorage
 
                <MarshalAs(UnmanagedType.Interface)>
                Function CreateStream(ByVal pwcsName As String, ByVal grfMode As Integer, ByVal reserved1 As Integer, ByVal reserved2 As Integer) As IStream
...
Code d'origine en C# : https://gist.github.com/MattyBoy4444/521547

Si quelqu'un a une idée, je ne trouve pas de solutions sur le net, je me casse les dents depuis plusieurs jours...,et pour être honnête le code me dépasse (de loin)... .

Logiciel utilisé : Microsoft Virtual Studio 2019, .NET Framework 4.7.2


Merci d'avance à ceux qui prendront le temps le lire et d’éventuellement me guider.