SORU
23 Ocak 2009, Cuma


C satır içi işlevleri#?

Ne yapıyorsun? "satır içi işlevleri" C# mı? Ben kavramı anladığını sanmıyorum. Anonim yöntemler gibi mi? Lambda fonksiyonları gibi?

EDİT: inline functions, aranan vücut." ile işlev çağrısı bir site yerine "el ile veya bir derleyici optimizasyon yeteneği ile başa çıkmak neredeyse tamamen cevapları Eğer ilgilenen varsa anonymous (a.k.a. lambda) functions, @jalf's answer What is this 'Lambda' everyone keeps speaking of? bkz.

CEVAP
5 Ocak 2012, PERŞEMBE


Nihayet .NET 4.5, bir ipucu sağlar CLR/öneririm1yöntem satır içi uygulaması MethodImplOptions.AggressiveInlining değeri kullanarak. Ayrıca Mono hortumu (sözü) mevcuttur.

Tam öznitelik kullanımı

// in mscorlib.dll so should not need to include extra references
using System.Runtime.CompilerServices; 

...

[MethodImpl(MethodImplOptions.AggressiveInlining)]
void MyMethod(...)

1. "Kuvvet" burada. kullanılmış daha önce Birkaç downvotes olmadığı terimi açıklığa kavuşturmak için çalışacağım. Açıklamaları ve belgeleri, The method should be inlined if possible. Özellikle Mono açık olan) göz önüne alındığında, mono özgü bazı teknik sınırlamalar satır içi uygulaması ya da daha genel bir (sanal fonksiyonlar gibi) sayılır. Genel olarak, evet, bu derleyici için bir ipucu, ama bunun için isteneni sanırım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008