Как заставить встроенные функции в С#?

Возможный дубликат:
Встроенные функции в С#?

В С++ мы можем заставить функцию inlining.

Возможно ли это также в С#? иногда, и когда метод мал, он автоматически устанавливается. Но возможно ли принудительное вложение функций в С#/. Net?

Ответ 1

Сорт. Не под вашим прямым контролем обязательно включиться. Он никогда не встраивался в IL - он выполнялся только JIT.

Вы можете явно принудительно отключить метод, используя MethodImplAttribute

[MethodImpl(MethodImplOptions.NoInlining)]
public void Foo() { ... }

Вы также можете сортировать "запрос" в соответствии с .NET 4.5:

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Foo() { ... }

... но вы не можете заставить его. (До .NET 4.5 этого значения перечисления не существовало. Например, .NET 4 documentation.)