나는 P2P 클래스 인 C#을 가지고있다.com 개체 인터페이스로 C# 클래스를 노출하는 방법?
public int portRecv=10101;
public int portSend = 10102;
public int multicastPort=10103;
int memberNum = 0;
string data;
string time;
List<Member> MemberList = new List<Member>();
public void DisplayMembers();
public void start(...);
public void join(..);
public void leave(..);
void add(...);
void remove(...);
C#과 C++ 사이의 interop 통신에서이 클래스의 서버 측 코드를 어떻게 만듭니 까?
http://msdn.microsoft.com/en-us/library/aa645738(v=vs.71).aspx 예를 우리는 방법
의 그룹이 될 수있는 인터페이스를 쓸 수 있지만 내가 portsend 다른 사람들처럼 내 변수 ++ 클라이언트 측 코드를 C로 시작됩니다 방법에 관한 혼란 스러워요하는 방법을 보여줍니다.--- 편집 --- com 인터페이스로 영구 데이터를 유지할 수 있습니까? 예를 들어 위에서 언급 한 목록? 관리 코드 com 개체와 통신하는 관리되지 않는 코드에서이 클래스의 개체를 만들 수 있습니까?
내 P2PLib 클래스의 객체를 만들 때 순수한 C# 코드에서 객체는 클라이언트 목록과 같은 내부 데이터를 보유합니다. 내 C# com 객체의 메소드 만 내 미래 C++ 코드에 노출 시키므로 C# 코드의 목록과 같은 영구 데이터를 사용할 수 없습니까? –
물론 가능합니다. 여전히 클래스 객체입니다. COM은 coclass를 지원하지만 정적 데이터의 개념조차 가지고 있지 않습니다. C++ 코드는'obj-> get_ReceivePort (& port)'와 같은 값을 얻기 위해 getter 메소드의 속성을 사용해야 할 것입니다. 속성을 지원하는 다른 언어는 C#과 마찬가지로 속성을 필드처럼 보이게합니다. –