यह अनिर्दिष्ट है, लेकिन यह .NET 4.5 में अनुकूलन में से एक जैसा दिखता है। यह प्रतिबिंब प्रकार की सूचना कैश को प्राइम करने के लिए इस्तेमाल किया गया प्रतीत होता है, जिससे सामान्य फ्रेमवर्क प्रकारों पर बाद का प्रतिबिंब कोड तेजी से चलता है। System.Reflection.Assembly.cs, RuntimeAssembly.FLags संपत्ति के संदर्भ स्रोत में इसके बारे में एक टिप्पणी है:
// Each blessed API will be annotated with a "__DynamicallyInvokableAttribute".
// This "__DynamicallyInvokableAttribute" is a type defined in its own assembly.
// So the ctor is always a MethodDef and the type a TypeDef.
// We cache this ctor MethodDef token for faster custom attribute lookup.
// If this attribute type doesn't exist in the assembly, it means the assembly
// doesn't contain any blessed APIs.
Type invocableAttribute = GetType("__DynamicallyInvokableAttribute", false);
if (invocableAttribute != null)
{
Contract.Assert(((MetadataToken)invocableAttribute.MetadataToken).IsTypeDef);
ConstructorInfo ctor = invocableAttribute.GetConstructor(Type.EmptyTypes);
Contract.Assert(ctor != null);
int token = ctor.MetadataToken;
Contract.Assert(((MetadataToken)token).IsMethodDef);
flags |= (ASSEMBLY_FLAGS)token & ASSEMBLY_FLAGS.ASSEMBLY_FLAGS_TOKEN_MASK;
}
आगे संकेत के बिना "धन्य एपीआई" का क्या मतलब हो सकता है। हालांकि यह इस संदर्भ से स्पष्ट है कि यह केवल रूपरेखा के प्रकारों पर ही काम करेगा। कहीं पर अतिरिक्त कोड होना चाहिए जो प्रकार और विधियों पर लागू विशेषता की जांच करता है। कोई विचार नहीं है कि यह कहाँ स्थित है, लेकिन यह देखते हुए कि कैशिंग में शॉट लगाने के लिए सभी .NET प्रकारों का एक दृश्य होना चाहिए, मैं केवल Ngen.exe के बारे में सोच सकता हूं।