Lezen in het Engels

Delen via


Compilerfout CS1613

Kan de beheerde coclass-wrapperklasse 'klasse' voor interface 'interface' niet vinden (ontbreekt er een assemblyreferentie?)

Er is geprobeerd een COM-object te instantiëren vanuit een interface. De interface heeft de ComImport en CoClass kenmerken, maar de compiler kan het type niet vinden dat voor het CoClass kenmerk is opgegeven.

U kunt deze fout oplossen door een van de volgende handelingen uit te voeren:

  • Voeg een verwijzing toe naar de assembly met de coklasse (meestal moeten de interface en coklasse zich in dezelfde assembly bevinden). Zie het dialoogvenster Verwijzingen of Verwijzing toevoegen voor meer informatie.

  • Los het CoClass kenmerk op de interface op.

In het volgende voorbeeld ziet u het juiste gebruik van CoClassAttribute:

// CS1613.cs  
using System;  
using System.Runtime.InteropServices;  
  
[Guid("1FFD7840-E82D-4268-875C-80A160C23296")]  
[ComImport()]  
[CoClass(typeof(A))]  
public interface IA{}  
public class A : IA {}  
  
public class AA  
{  
   public static void Main()  
   {  
      IA i;  
      i = new IA(); // This is equivalent to new A().  
                    // because of the CoClass attribute on IA  
   }  
}