I am working on integrating ColdFusion 10 with a custom .NET DLL that I do not have to configure. During this process, I was able to do everything I needed, except to create an IEnumerable data type, to go to one of the object's methods. Here is what I need to integrate with:

This is the Set_Events method I'm having problems with. I can create separate Events that should be part of this enumeration variable, but I cannot create what, apparently, expects as the correct type of the variable. I tried to do this:
<cfset enum = createObject(".net", "System.Collections.Generic.IEnumerable__1") />
And this gives me a valid .NET object using the GetEnumerator() method:

When I try to call this method:
<cfdump var="#enum.GetEnumerator()#">
It just gives me the following error:
The GetEnumerator method was not found.
Other things I've tried:
Creating a shared list and adding things:
<cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar") /> <cfset eventList.Add(javacast("bigdecimal", "30.1234" )) />
This gives me the following error:
An exception occurred while instantiating a Java object. The class must not be an interface or an abstract class. If the class has a constructor that accepts an argument, you must call the constructor explicitly using the init(args) method. Error : System.Collections.Generic.List__1
And this again gives me the same error:
<cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar") /> <cfset eventList.Add("foo") />
Attempt to initialize a list
This code from Leigh works:
<cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar") /> <cfset elemClass = createObject(".net", "System.String", "dotNetCoreProxy.jar") /> <cfset elemType = elemClass.getDotNetClass() /> <cfset eventList.init( elemType ) /> <cfset eventList.Add("foo") /> <cfdump var="#eventList#">
But this is not so:
<cfobject type="dotnet" name="VideoWallEvent" class="Utilities.VideoWall.VideoWallEvent" assembly="#ExpandPath("Utilities.dll")#"> <cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", "dotNetCoreProxy.jar") /> <cfset elemType = VideoWallEvent.getDotNetClass() /> <cfset eventList.init( elemType ) /> <cfdump var="#eventList#">
I get the following error:
Unable to find a constructor for class System.Collections.Generic.List__1 that accepts parameters of type ( System.RuntimeType ).
JNBProxyGUI.exe
It was completely useless. I can go to my Utilities.dll file and add the System.Collections assembly from the GAC, but the Build option in the Project menu is always disabled and nothing is displayed on any panel after adding these assemblies.
Test methods
I ran all of the following code on one page:
<cfset UtilitiesProxy = ExpandPath("UtilitiesProxy.jar") /> <cfset DotNetCoreProxy = "dotNetCoreProxy.jar" /> <cfset CoStarUtilities = ExpandPath("CoStar.Utilities.dll") /> <h2>Try using base DLLs and DotNetCore</h2> <cftry> <cfobject type="dotnet" name="VideoWallEvent" class="CoStar.Utilities.VideoWall.VideoWallEvent" assembly="#CoStarUtilities#"> <cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", DotNetCoreProxy) /> <cfdump var="#eventList.init(VideoWallEvent.getDotNetClass())#"> (error line) <cfcatch> <h3><cfoutput>#cfcatch.type#</cfoutput></h3> <p><cfoutput>#cfcatch.message#: #cfcatch.detail#</cfoutput></p> </cfcatch> </cftry> <h2>Try using the Utilities Proxy for Everything</h2> <cftry> <cfobject type="dotnet" name="VideoWallEvent" class="CoStar.Utilities.VideoWall.VideoWallEvent" assembly="#UtilitiesProxy#"> <cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", UtilitiesProxy) /> (error line) <cfdump var="#eventList.init(VideoWallEvent.getDotNetClass())#"> <cfcatch> <h3><cfoutput>#cfcatch.type#</cfoutput></h3> <p><cfoutput>#cfcatch.message#: #cfcatch.detail#</cfoutput></p> </cfcatch> </cftry> <h2>Try using Utilities Proxy for VideoWall, and DotNetCore for List</h2> <cftry> <cfobject type="dotnet" name="VideoWallEvent" class="CoStar.Utilities.VideoWall.VideoWallEvent" assembly="#UtilitiesProxy#"> <cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", DotNetCoreProxy) /> <cfdump var="#eventList.init(VideoWallEvent.getDotNetClass())#"> (error line) <cfcatch> <h3><cfoutput>#cfcatch.type#</cfoutput></h3> <p><cfoutput>#cfcatch.message#: #cfcatch.detail#</cfoutput></p> </cfcatch> </cftry> <h2>Try Initing Wall Event</h2> <cftry> <cfobject type="dotnet" name="VideoWallEvent" class="CoStar.Utilities.VideoWall.VideoWallEvent" assembly="#CoStarUtilities#"> <cfset VideoWallEvent.Init() /> <cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", DotNetCoreProxy) /> <cfdump var="#eventList.init(VideoWallEvent.getDotNetClass())#"> (error line) <cfcatch> <h3><cfoutput>#cfcatch.type#</cfoutput></h3> <p><cfoutput>#cfcatch.message#: #cfcatch.detail#</cfoutput></p> </cfcatch> </cftry> <h2>Try Initing Wall Event</h2> <cftry> <cfobject type="dotnet" name="VideoWallEvent" class="CoStar.Utilities.VideoWall.VideoWallEvent" assembly="#CoStarUtilities#"> <cfset VideoWallEvent.Init() /> <cfset eventList = CreateObject(".net","System.Collections.Generic.List`1", DotNetCoreProxy) /> <cfdump var="#eventList.init(VideoWallEvent)#"> (error line) <cfcatch> <h3><cfoutput>#cfcatch.type#</cfoutput></h3> <p><cfoutput>#cfcatch.message#: #cfcatch.detail#</cfoutput></p> </cfcatch> </cftry>
And I get the following error output (hint, each of which does not work).
09:22:45.045 - Object Exception - in C:/inetpub/LandsofAmerica/scribble/VideoWall/index.cfm : line 9 Unable to find a constructor for class System.Collections.Generic.List__1 that accepts parameters of type ( System.RuntimeType ). 09:22:48.048 - coldfusion.runtime.dotnet.ProxyGenerationException - in C:/inetpub/LandsofAmerica/scribble/VideoWall/index.cfm : line 19 09:22:48.048 - Object Exception - in C:/inetpub/LandsofAmerica/scribble/VideoWall/index.cfm : line 31 Unable to find a constructor for class System.Collections.Generic.List__1 that accepts parameters of type ( System.RuntimeType ). 09:22:48.048 - Object Exception - in C:/inetpub/LandsofAmerica/scribble/VideoWall/index.cfm : line 43 Unable to find a constructor for class System.Collections.Generic.List__1 that accepts parameters of type ( System.RuntimeType ). 09:22:48.048 - Object Exception - in C:/inetpub/LandsofAmerica/scribble/VideoWall/index.cfm : line 55 Unable to find a constructor for class System.Collections.Generic.List__1 that accepts parameters of type ( CoStar.Utilities.VideoWall.VideoWallEvent ).
I created a proxy with (as it seems to me) all the items that I need.

Conclusion
So now I'm stuck. I can create an instance and fill in all the necessary objects for this to work, I just cannot combine all the objects for them to work. What am I missing when trying to create the ENum object needed to populate the Set_Events method?