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

  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • SalGames2016

    SalGames2016

    17 Kasım 2012
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009