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

  • Defence Videos

    Defence Vide

    13 Mayıs 2013
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • LounaTutorials

    LounaTutoria

    10 EYLÜL 2009