Saturday 15 March 2014

c# - Strongly typed collection for use both in COM and CLR -


I am trying to apply a type store that is both in .NET and COM (Windows Script Host) environments Intended for use. .

MSDN declares that IEnumerable must be implemented to make the collection accessible to each statement:

  [Commavazible] [Guide] Interface IMI Collection: IEnumerable {new IEnumerator (GetEnumerator); // Essential Com Required due to Interop Inheritance Issue}   

This works fine in VBSP / JScript but this collection is unused for CLR / C # Agarwal statement.

Tried to create the archive interface, thus typed as follows. Now this collection works perfectly in C #, but raises an error in VB because the _NewEnum method in TLB (with id (-4)) is missing [comvisible] [ Guid] Interface IMyCollection: IEnumerable & lt; ImyItem & gt; {}

The following code works fine in VBScript but again uncompresses the archive for the .NET client:

  [comvisible] [ Guid] Interface IMyCollection: IEnumerable & LT; IMyItem & gt; {New IEnumerator GetEnumerator (); }   

In addition to trying to implement _NewEnum manually by returning the implementing object to System.Runtime.InteropServices.ComTypes.IEnumVARIANT But without success the method TLB was exported from the tlbexp utility but there was no MIDL ID feature.

How can I solve it?

Are you trying to create IMyItem "COMBUYBLE"? If it is not compoundable, then I think that the IMIIT will be identified as the Vertaint.

No comments:

Post a Comment