Вопрос про сборку на плюсах и на шарпе

laki

есть проект на плюсах
Test.h
 

#pragma once
using namespace System;
namespace Test
{
    public __interface IServicedTest
     {
     int SelectData(int a, int b);
     };
     public class TestClass : public IServicedTest
     {
    public:
     int SelectData(int a, int b);
     };
}
 

Test.cpp
 

#include <Stdafx.h>
#include "test.h"
#using <mscorlib.dll>
#using <System.dll>
#using <System.EnterpriseServices.dll>
#using <System.Data.dll>
#using <System.Xml.dll>
   
using namespace System;
namespace Test
{
     int TestClass::SelectData(int a, int b)
     {
     return a * b;
     }
}
 

на выходе получаем dll
создаем проект на шарпе
добавляем в референсы плюсовую длл
 

class Show
   {
     public static void Main
     {
     int k = Test.TestClass.SelectData(10, 2); не видит
    
     }
   }
 

что я делаю не так?

Helga87

пришли на почту исходники

nikita270601

У тебя же метод нестатический. Вероятно, нужно создать объект!

laki

кинь свою почту в аську

otets-mihail

А какой текст ошибки, что из трех не видит?

laki

статик там стоит
типа нет такого метода

laki

ссылку на исходники отправил в приват

laki

так с классом вроде решили
другой вопрос, че не так с енумами и на что их лучше поменять?
Compiler Error C3277
cannot define an unmanaged enum 'enum' inside managed 'type'
на инт?

laki

ладно все помянили на int. .NET гавно

aleks058


скажи, чо рулит

laki

ладно не рулит менедж сипипи

klyv

Где эта ошибка возникает?
мб, всё-таки надо сделать enum этот managed?
А ещё... всё-таки, под .Net С# лучше заточен

laki

А ещё... всё-таки, под .Net С# лучше заточен
а еще есть ряд задач, которые проще решать на сипипи

klyv

а еще есть ряд задач, которые проще решать на сипипи
разве что unmanaged
managed C++ против C#, по-моему, не имеет никаких плюсов. только корявое представление.
лучше использовать C++ (unmanaged) для кусков, где лучше скомпиленный код (т.е. мощых вычислений, итп и C# - для организации GUI или там общего управления проектом.

Dasar

> ладно все помянили на int. .NET гавно
если у вас ничего не получается, то прочитайте наконец документацию (С)
тебе же явно сказали, что ты хочешь unmanaged enum, а это не работает...
ты уже посмотрел в документации как описывается на C++ managed enum?
Оставить комментарий
Имя или ник:
Комментарий: