Qualcuno può spiegare i vantaggi dell'utilizzo di un assembly di interoperabilità primario in .Net?

StackOverflow https://stackoverflow.com/questions/204806

  •  03-07-2019
  •  | 
  •  

Domanda

Questo concetto mi è nuovo e un collega lo ha suggerito. Purtroppo, non avevo idea di cosa stesse parlando. Qualcuno può illuminarmi?

È stato utile?

Soluzione

Puoi trovare molte informazioni al riguardo qui .

In poche parole, un PIA è un gruppo di interoperabilità firmato che fornisce la "quotazione ufficiale" definizione dei tipi in una libreria COM dall'editore della libreria COM.

Per quanto riguarda i vantaggi, l'articolo pubblicato lo riassume abbastanza bene:

  

I PIA sono importanti perché   fornire un'identità di tipo univoca. La PIA   distingue il tipo ufficiale   definizioni dalla contraffazione   definizioni fornite da altre interoperabilità   assiemi. Avere un solo tipo   l'identità garantisce la compatibilità dei tipi   tra le applicazioni che condividono il   tipi definiti nel PIA. Perché il   PIA è firmata dal suo editore e   etichettato con il   Attributo PrimaryInteropAssembly, esso   può essere differenziato dagli altri   interoperano assiemi che definiscono il   stessi tipi.

Altri suggerimenti

Un assembly di interoperabilità primario avvolgerà le interfacce COM in tipi compatibili .NET. Non ti dà il controllo granulare che invoca manualmente i metodi, ma è abbastanza vicino.

Senza PIA:

object _comObject;
Type _comObjectType;
_comObjectType = Type.GetTypeFromProgID("MyCompany.MyApplication.MyObject", true);
_comObject = Activator.CreateInstance(_comObjectType);

string name = (string)_comObjectType.InvokeMember("GetCustomerName", BindingFlags.InvokeMethod, null, _comObject, , new object [] { _customerId });

Con un PIA:

MyCompany.MyApplication.MyObject obj = new MyObject();
string name = obj.GetCustomerName(_customerId);

Basta dire con un esempio, se si desidera sviluppare un'applicazione simile a qualsiasi altro strumento per ufficio (MS word, visio ...) con funzionalità estesa, è possibile utilizzare la funzionalità degli strumenti per ufficio nel proprio progetto utilizzando PIA.In la mia app per disegnare diagrammi di classe, usare pannello visio per la creazione di diagrammi di classe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top