__Dynamicallyİnvokable için özellik nedir?
DotPeek I System.Linq.Enumerable
bakarak bazı yöntemler [__DynamicallyInvokable]
bir öznitelik ile ilişkili olduğuna dikkat edin.
Bu öznitelik rol oynuyor? Bir şey DotPeek tarafından eklenen veya başka bir rolü oynamak, belki de yöntemleri optimize etmek için nasıl derleyici bilgilendirme mu?
CEVAP
Belgesiz, ama iyileştirmeler gibi görünüyor .NET 4.5. Yansıma türü info önbellek başbakan için kullanılacak ortak çerçeve türleri sonraki yansıma kod daha hızlı çalışmasını sağlamak gibi görünüyor. Sistem için Referans Kaynağı bu konuda bir yorum var.Yansıma.Derleme.cs, RuntimeAssembly.Flags özelliği:
// 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;
}
Daha fazla "API" olabilir. ne mübarek bir ipucu olmadan Bu çerçeve kendi içinde türleri üzerinde çalışacak bağlamında açık. Özniteliği denetler ek kod bir yere türleri ve yöntemleri uygulanmış olmalı. Hiçbir fikrim bulunduğu, ama bir görüşe ihtiyacı olacağını göz önüne alındığında .Önbelleğe alma şansım var NET türleri, sadece ngen.exe düşünemiyorum.
NSDateFormatter yerel "özellik&qu...
Bir nesneyi klonlamak için en etkili y...
Oyun 2048 için en uygun algoritma nedi...
(Ya da ihmal) kullanmak için zaman var...
C bir Sözlük üzerinde yineleme için en...