Derleyici Hatası CS0459
Salt okunur bir yerel değişkenin adresi alınamıyor
C# dilinde salt okunur yerel değişkenler oluşturan üç yaygın senaryo vardır: foreach
, using
ve fixed
. Bu durumların her birinde salt okunur yerel değişkene yazmanıza veya adresini almanıza izin verilmez. Bu hata, derleyici salt okunur bir yerel değişkenin adresini almaya çalıştığınızı fark ettiğinde oluşturulur.
Aşağıdaki örnek, bir döngüde ve fixed
deyim bloğunda foreach
salt okunur bir yerel değişkenin adresini almaya çalışıldığında CS0459 oluşturur:
// CS0459.cs
// compile with: /unsafe
class Program
{
public unsafe void M1()
{
int[] ints = new int[] { 1, 2, 3 };
foreach (int i in ints)
{
int *j = &i; // CS0459
}
fixed (int *i = &_i)
{
int **j = &i; // CS0459
}
}
private int _i = 0;
}
Not
Roslyn derleyicisi güncelleştirildi ve bu derleyici hatası Visual Studio 2017 sürüm 15.5'den başlayarak kaldırıldı, bu nedenle önceki kod bu sürüm ve sonraki sürümlerle başarıyla derlenecekti.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: