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

  • campos9896

    campos9896

    24 Mart 2012
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008