Исходный код:Почему я не могу создать объект com в C#?
IMoniker moniker;
int hresult = NativeMethods.CreateFileMoniker(kFileName, out moniker);
IBindCtx pbc;
NativeMethods.CreateBindCtx(0, out pbc);
Object obj;
Guid guid = new Guid();
guid = typeof(GraphicsLibrary.IPolyline).GUID;
moniker.BindToObject(pbc, null, guid, out obj);
GraphicsLibrary.IPolyline pl = (GraphicsLibrary.IPolyline)obj;
GraphicsLibrary.PolylineObjClass o = (GraphicsLibrary.PolylineObjClass)pl;
foreach (GraphicsLibrary.PolyPoint ptt in o.Points)
{
Trace.WriteLine(String.Format("point ({0}, {1})", ptt.x, ptt.y));
}
return 0;
Исключение на GraphicsLibrary.PolylineObjClass o = (GraphicsLibrary.PolylineObjClass)pl;
деталь:
Исключение типа 'System.InvalidCastException' произошло в DotNetClient.exe, но не был обработан в пользовательском коде
Но я реализовал IProvideClas sInfo и зарегистрировал typelib.
Почему я не могу отбросить объект?
PS: полный исходный код, пожалуйста, обратитесь https://github.com/Jichao/comtut/tree/master/monikers/FileMoniker