Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Nascondere membri pubblici di assembly esposti a COM

Con molta probabilità saprete che un assembly per .NET può essere utilizzato dall'architettura COM, rendendolo a questa visibile mediante la casella Make Assembly COM Visible raggiungibile con il pulsante Assembly Informations della finestra My Project di Visual Basic 2005 (Properties in Visual C#).

Utilizzando esplicitamente l'attributo ComVisibile, è possibile decidere singolarmente quali dei membri della classe rendere utilizzabili da componenti COM e quali no. Si consideri il seguente (semplicissimo) code snippet:

Imports System.Runtime.CompilerServices

Imports System.Runtime.InteropServices

<Assembly: ComVisible(True)>

<ComVisible(True)> Public Class Class1 'Può essere impostato anche nella finestra delle proprietà

     <ComVisible(True)> Public Sub FirstSub()

             'Codice di implementazione

     End Sub

     <ComVisible(False)> Public Sub SecondSub()

             'Codice di implementazione

     End Sub

End Class

L'attributo <Assembly: ComVisible(True)>  imposta la visibilità COM per tutto l'assembly (normalmente questa riga si trova già nel file AssemblyInfo.vb, nel qual caso verrete informati da un warning).

All'interno della classe, l'attributo ComVisible permette di rendere visibile al mondo COM il metodo FirstSub ma non il metodo SecondSub. Questa tecnica vi è utile se decidete che alcuni membri delle classi esposte anche a COM possano essere utilizzati solo da assembly .NET.

Alessandro

Print | posted on sabato 23 giugno 2007 22:27 | Filed Under [ .NET Framework ]

Powered by:
Powered By Subtext Powered By ASP.NET