Înțelesul ClassInterfaceType.None împiedică crearea unei interfețe de clasă, cu o clasă de export metadate în biblioteca de tip. În exemplul anterior, COM-clienții pot accesa clasa LoanApp numai prin intermediul interfeței IExplicit.
Folosind clasa de interfață este o opțiune valabilă pentru clienții cu script-ul, clientul Microsoft Visual Basic 6.0, precum și clienții cu întârziere de legare, care nu creează identificatori cache DispId membri interfață. ID-urile DispId definesc membrii de interfață, permițând legarii.
Pentru generarea de clasă identificator de interfață DispId se bazează pe funcția de membru al interfeței. Schimbarea ordinii statelor membre, precum și exportul de clasă într-o bibliotecă de tip și schimbarea ID-urile DispId, create în clasa de interfață.
Pentru a evita perturbarea COM-clienții cu întârziere de legare prin utilizarea interfeței de clasă trebuie să fie aplicată la valoarea atributului ClassInterfaceAttribute ClassInterfaceType.AutoDispatch. Această valoare pune în aplicare o interfață de clasă de programare, dar lipsește descrierea interfeței în biblioteca de tip. Niciun client descriere interfață nu poate identificatorii cache DispId la momentul compilarii. Cu toate că acest tip de interfață este utilizat în mod implicit pentru interfața de clasă, valoarea atributului poate fi setată în mod explicit.
Pentru a obține DispId ID-ul membru interfață în timpul rulării, COM-clienții pot apela IDispatch.GetIdsOfNames. Pentru a invoca o metodă pe o interfață, este necesar să se transfere returnat de identificare DispId ca argument pentru IDispatch.Invoke.
interfețe duble permit COM-clienti pentru a efectua membri interfață timpurie și târzie cu caracter obligatoriu. În modul de dezvoltare, și în timp ce testarea poate fi de ajutor pentru a face interfața de clasă dublă. Această opțiune este, de asemenea, permisă pentru o clasă de gestionat (și clasele sale de bază), care nu se va schimba. În toate celelalte cazuri, ar trebui să se abțină de la a face interfață de clasă cu dublă.
interfata duala generat automat poate fi util în cazuri destul de rare, dar de multe ori creează dificultăți atunci când se lucrează cu versiuni. De exemplu, schimbările din clasa de bază poate perturba cu ușurință COM-clienții folosind interfața derivate. În cazul în care clasa de bază este asigurată de un furnizor independent, layout-ul de interfață de clasă nu mai este disponibil la dezvoltator. În plus, o interfață duală, spre deosebire de situația cu interfața de programare (ClassInterface.AutoDual) oferă o descriere bibliotecă de clasă de interfață de tip exportat. Această descriere încurajează clienții cu identificatorii cache de legare cu întârziere DispId în timpul rulării.