假如我在 C#底下建立一个 classclass Test
{
public double TA;
public double TB;
}
然后再某一个地方将 Test 实体化,并建立一个Test的指标,这时候会发生一个错误讯息public Test TT = new Test();
public unsafe Test* ptr;
[错误讯息]:不能取得Managed型别的地址、大小,也不能宣告指向他的指标。看起来这样的方法是不能用的如果我想要达到类似的效果的话不知道 是否有其它方法呢?
{
public double TA;
public double TB;
}
然后再某一个地方将 Test 实体化,并建立一个Test的指标,这时候会发生一个错误讯息public Test TT = new Test();
public unsafe Test* ptr;
[错误讯息]:不能取得Managed型别的地址、大小,也不能宣告指向他的指标。看起来这样的方法是不能用的如果我想要达到类似的效果的话不知道 是否有其它方法呢?
{
public double TA;
public double TB;
}
看msdn上说c#指针只能指向值类型的地址,不能指向引用类型的地址,如果你的类是个轻量型的,可以考虑把该类写成struct,就可以用*操作符直接获取地址。如果非得用class,只能用IntPtr来搞指针
在System.Runtime.InteropServices名称空间里,有一些用于
在托管内存与非托管内存之间互操作的类。Marshal.GetIUnknownForObject()。