'dan IDispatch COM arabiriminin bir üyesini çağırma IDIpatch arabirimini C# içinde uygulayan bir COM nesnesinden GetIdsOfNames işlevini çağırmak istedim. Aşağıdaki kodu yazdım ama DISP_E_UNKNOWNNAME ile başarısız. Bunu yapmak için doğru yaklaşım bu mu?C#
Object so = Activator.CreateInstance(Type.GetTypeFromProgID("ProgID"));
Object[] args = new Object[5];
string[] rgsNames = new string[1];
rgsNames[0] = "PrintNormal";
uint LOCALE_SYSTEM_DEFAULT = 0x0800;
uint lcid = LOCALE_SYSTEM_DEFAULT;
int cNames = 1;
int[] rgDispId = new int[1];
args[0] = IntPtr.Zero;
args[1] = rgsNames;
args[2] = cNames;
args[3] = lcid;
args[4] = rgDispId;
Object result = so.GetType().InvokeMember("GetIDsOfNames", BindingFlags.InvokeMethod, null, so, args);
sayesinde
Richard
Teşekkürler. Thats gerçekten çok yararlı. –