// Show Details Severity Code Description Project File Line //Error CS1103 The first parameter of an extension method cannot be of type 'FooSignal8*' TestExportDefInvoke Program.cs 33 unsafe static void Foo(TestExportDefSharedProject.FooSignal8* aa) { DoCallbackFoo8(aa, delegate { var __a = aa; } ); }
unsafe static void DoCallbackFoo8(TestExportDefSharedProject.FooSignal8* y, Action signal) { for (int i = 0; i < y->samplesLength; i++) { // C : unable to emit stloc.2 at 'TestExportDef.Class1.DoCallbackFoo8'#0012: C : Opcode not implemented: ldind.u2 at TestExportDef.Class1.DoCallbackFoo8 //var __value = y->samples[i]; } y->value8 = 90; signal(); var loc1 = y->value8; //y.value8++; loc1 = 88; y->value8 = loc1; }
//unsafe static void DoCallbackFoo(TestExportDefSharedProject.FooSignal* y) unsafe static void DoCallbackFoo(ref TestExportDefSharedProject.FooSignal y) { // X:\jsc.svn\examples\c\Test\TestByRefField\TestByRefField\Class1.cs // Show Details Severity Code Description Project File Line //Error CS0208 Cannot take the address of, get the size of, or declare a pointer to a managed type('FooSignal') TestExportDef Class1.cs 44 //TestExportDef.Class1 //script: error JSC1000: C: Opcode not implemented: ldflda at TestExportDef.Class1.DoCallbackFoo // Opcode not implemented: ldind.i8 at TestExportDef.Class1.DoCallbackFoo //y.value8++; // num0 = ((long long)y.value8); var loc1 = y.value8; //y.value8++; loc1 = 88; y.value8 = loc1; var loc2 = y.signal1; loc2(); //y.signal1(); }
//extern unsafe static void DoCallbackFoo8(this TestExportDefSharedProject.FooSignal8* y, Action signal); extern unsafe static void DoCallbackFoo8(TestExportDefSharedProject.FooSignal8* y, Action signal);
//unsafe static void DoCallbackFoo(TestExportDefSharedProject.FooSignal* y) extern unsafe static void DoCallbackFoo(ref TestExportDefSharedProject.FooSignal y);
unsafe static void InvokeCLRFromCRT(TestExportDefSharedProject.Foo3 f) { }