Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
Michael.Navara
in reply to: J-Camper

If you need to add some new functionality to the PartDocument you have two possibilities.

  1. Create your own class which implements PartDocument interface. But this is too much work and it depends on API version. When you update API version you must check/update this implementation. I DON'T RECOMMEND THIS.  
  2. Use extension methods. This allows you to add some new functionality without explicit implementation of PartDocument interface.

 

Part of sample implementation of PartDocument interface

Class MyPartDocument
    Implements PartDocument

    Dim p As PartDocument

    Public Sub New(p As PartDocument)
        p = p
    End Sub


    Public Sub Activate() Implements PartDocument.Activate
        p.Activate()
    End Sub

    Public Sub Close(Optional SkipSave As Boolean = False) Implements PartDocument.Close
        p.Close(SkipSave)
    End Sub

    Public Sub Save() Implements PartDocument.Save
        p.Save()
    End Sub
...

 

Sample of extension method

Class ClassInYourAddin
    Sub SampleUsageOfExtensionMethod()

        Dim p As PartDocument

        Dim fileNameWithoutExtension As String = p.FileNameWithoutExtension()
    End Sub
End Class

Public Module PartDocExtensions

    <Extension>
    Public Function FileNameWithoutExtension(part As PartDocument) As String
        Return System.IO.Path.GetFileNameWithoutExtension(part.FullFileName)
    End Function

End Module