C# ve hakem, neden şeker?özellik parametre
Ben C çalışırken bu hata iletisi aktı#
Bir özellik veya dizin oluşturucu bir out veya ref parametresi olarak geçirilen olmayabilir
Ben bilinen ne neden oldu bu ve hızlı çözüm oluşturma bir yerel değişken doğru yazın, arama işlevi ile olarak out
/ref
parametre ve sonra atama geri özelliği:
RefFn(ref obj.prop);
dönüşüyor
{
var t = obj.prop;
RefFn(ref t);
obj.prop = t;
}
Bu özelliği desteklemez. eğer başarısız olacağını açıkça ve mevcut bağlamı ayarlayın.
Neden C değil# benim için bunu yapar mı?
Bu sorunlara neden olabilir aklıma tek durumlar şunlardır:
- iş parçacığı
- özel durumlar
Diş için olan dönüşüm başına yazdığında etkiler (işlev çağrısında işlev çağrısı sonra vs), ama ben oldukça güveniyor kırıldığında küçük sempati alacağı herhangi bir kod şüpheli.
Özel durumlar için endişe olurdu; eğer işlevi daha atar ref
çeşitli parametreler birine atarsa ne olur? Herhangi önemsiz bir çözüm parametreleri birkaç tane olması lazım ve biraz olmamalıdır zaman atandığı ya da bir kaçına neden olacaktır. Yine bu dilin kullanımı desteklenen olacağını sanmıyorum.
Not: bu hata iletileri oluşturulur neden mekaniğini anlıyorum. Neden mantığı C arıyorum ne# otomatik olarak önemsiz geçici çözümü yok.
CEVAP
Geçen olduğun içinsonuçgerçekten bir yöntem çağrısı sonucu, dizin,. Yok garanti dizin oluşturucu özelliği de olan bir pasör ve geçen tarafından ilan no yol açacak bir sahte güvenlik geliştirme Bölümü ne zaman sanıyor ki onun malı olacak set vermeden belirleyici olmak denir.
Bir daha teknik düzeyde, ref ve out pass bellek Adres nesne geçti, ve bir dizi özellik, aramalısın ayarlayıcı, yani orada hiçbir garanti bu özelliği olurdu aslında değişti özellikle mülkiyet türü değişmez. ref ve out yokayarlayınyöntemin dönüş değeri üzerine, nesnenin kendisi için gerçek bellek referans geçerler.
Neden herhangi bir parametre (asıl fon...
Nasıl Scala türü silme kurtulmak mı? Y...
Neden anahtar kelime "son" J...
Neden lambda expression düz bir Temsil...
Neden-exec mv bulmak için {} ./hedef/ ...