में मुझे सी ++ इंटरफेस के भीतर सी # में परिभाषित public enum
का उपयोग करने में समस्याएं आ रही हैं। .NET प्रोजेक्ट को COM ++ और VB विरासत सॉफ़्टवेयर के भीतर उपयोग करने के लिए COM के संपर्क में लाया गया है।सी # एन सी ++ लाइब्रेरी
सी # कोड:
namespace ACME.XXX.XXX.XXX.Interfaces.Object
{
[Guid(".....")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[ComVisible(true)]
public interface TestInterface
{
void Stub();
}
[ComVisible(true)]
public enum TestEnum
{
a = 1,
b = 2
}
}
सी ++ कोड:
संपादित करें: परियोजना के लिए आईडीएल में मैं tlb आयात किया। (importlib("\..\ACME.XXX.XXX.XXX.Interfaces.tlb")
)
interface ITestObject : IDispatch
{
[id(1), helpstring("one")]
HRESULT MethodOne([in] TestInterface *a);
[id(2), helpstring("two")]
HRESULT MethodTwo([in] TestEnum a);
}
MethodTwo
में, मैं त्रुटियों TestEnum
छोड़कर प्रकार विशिष्टता बताते हुए
मैं वहाँ कुछ मैं सही ढंग से नहीं कर रहा हूँ है यह सोचते हैं रहा हूँ जा रहे हैं। MethodOne
संदर्भ को सही तरीके से ढूंढ रहा है।
क्या सी ++ इंटरफ़ेस में .NET enum ऑब्जेक्ट को संदर्भित करने के लिए कुछ जादू है?
धन्यवाद हंस। यह पूरी तरह से काम किया! –