2010-09-24 12 views
6

C# ile yazılmış bir .NET_4 temel sınıfından türettiğim bir .NET_4 Yönetilen C++ ref sınıfına sahibim."C# temel sınıf sanal işlevi" - "Yönetilen C++ ref sınıfında geçersiz kıl"

C# temel sınıf:

namespace Core 
{ 
    public class ResourceManager 
    { 
    public class _Resource 
    { 
     public virtual void Delete() {} 
    } 
    } 
} 

C++ yönetilen sınıf:

'Girdi :: DI :: Fare: Burada

namespace Input.DI 
{ 
    public ref class Mouse : ResourceManager::_Resource 
    { 
    public: 
    virtual void Delete() {} 
    }; 
} 

alıyorum hatadır: : Sil ': temel ref sınıfı yöntemiyle eşleşir' Core :: ResourceManager :: _ Resource :: Delete ', ancak' new 'veya' override 'olarak işaretlenmez; (Ve 'sanal') 'yeni' bir C# sınıfından bir virtual fonksiyonunu geçersiz kılmak için doğru yönetilen C++ sözdizimi nedir

varsayılır?

cevap

6

overrideafter the function signature'u koyarsınız.

//MANAGED C++ CLASS 
namspace Input.DI 
{ 
    public ref class Mouse : ResourceManager::_Resource 
    { 
    public: 
    virtual void Delete() override {} 
    }; 
} 
+0

_namspace_ ile bir yazım hatası (OP'den kopyalanan) kopyaladığınıza dikkat edin. Bu isim alanını okumalı. Cevabınızla daha fazla geliştiremediğim bir düzenleme (2k'ın altındayım) önermek istemiyorum. – Tas