更新:2007 年 11 月
错误消息
无法将“parameter”作为 ref 或 out 参数传递,因为“reason”当一个变量在该变量为只读的上下文中作为
示例
下面的示例生成 CS1657:
复制代码 | |
---|---|
// CS1657.cs using System; class C : IDisposable { public int i; public void Dispose() {} } class CMain { static void f(ref C c) { } static void Main() { using (C c = new C()) { f(ref c); // CS1657 } } } |
下面的代码说明 fixed 语句中的同样的问题:
复制代码 | |
---|---|
// CS1657b.cs // compile with: /unsafe unsafe class C { static void F(ref int* p) { } static void Main() { int[] a = new int[5]; fixed(int* p = a) F(ref p); // CS1657 } } |