2012-07-23 2 views
0

관리되지 않는 응용 프로그램에서 C# 클래스를 사용해야합니다. 불완전한 클래스 유형에 대한 포인터가 그래서 난 할 수 없습니다PIMPL을 사용하여 C++/CLI에서 C# 클래스를 사용하는 방법

/// Header 
class Mixed 
{ 
public: 
    void Subscribe(int handler); 
private: 
    class MixedImp; 
    MixedImp* m_implementation; 
} 

/// CPP 
ref class MixedImp 
{ 
public: 
    void Subscribe(int handler) 
    { 
     m_accessor->Subscribe(handler); 
    } 
private: 
    Managed^ m_accessor; 
} 

Mixed::Subcribe(int handler) 
{ 
    m_implementation->Subcribe(handler) 
} 

이 일을 내가 얻을 :

public class Managed 
{ 
    public void Subcribe(int handler) 
    { 
     .... 
    } 
} 

그런 다음 나는 다음과 같은 C++/CLI 클래스를 만들 : 나는 다음과 같은 C# 클래스를 말해봐 뭔가를 얻지 못한다. 나는 자연스러운 관리되지 않는 개발자가 아니기 때문에 질문이 다소 어리 석다면 나를 용서해주십시오 : \

답변

1
#include <vcclr.h> 


class Mixed 
{ 
public: 
    void Subscribe(int handler) 
    { 
    m_accessor->Subscribe(handler); 
    } 
private: 
    gcroot<Managed^> m_accessor; 
}; 
관련 문제