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

  • Christian Atlas

    Christian At

    26 Mart 2009
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • natescamp

    natescamp

    30 NİSAN 2009