.NET dillerinde yazılmış tüm kodlar MSIL için derlenir, ancak yalnızca doğrudan MSIL kullanarak yapabileceğiniz belirli görevler / işlemler var mı?
MSIL'de C #, VB.NET, F #, j # veya başka herhangi bir .NET dilinden daha kolay iş yapalım.
Şimdiye kadar buna sahibiz:
- Kuyruk özyineleme
- Genel Ortak / Çelişki
- Sadece dönüş tiplerinde farklılık gösteren aşırı yükler
- Erişim değiştiricileri geçersiz kıl
- System.Object öğesinden devralınamayan bir sınıfa sahip olun
- Filtrelenmiş istisnalar (vb.net adresinde yapılabilir)
- Geçerli statik sınıf türünde sanal bir yöntem çağırma.
- Bir değer türünün kutulu sürümünde bir tanıtıcı alın.
- Bir deneme / hata yapın.
- Yasak isimlerin kullanımı.
- Değer türleri için kendi parametresiz kurucularınızı tanımlayın .
- Bir
raise
öğeyle olayları tanımlayın . - CLR tarafından izin verilen ancak C # tarafından izin verilmeyen bazı dönüşümler.
- Olarak
main()
yöntem olmayan bir yöntem oluşturun.entrypoint
. - doğrudan yerel
int
ve yerelunsigned int
türlerle çalışın . - Geçici işaretçilerle oynayın
- MethodBodyItem içindeki emitbyte yönergesi
- System.Exception dışı türleri atın ve yakalayın
- Numaralandırmayı Devral (Doğrulanmamış)
- Bir bayt dizisini (4x daha küçük) bir ints dizisi olarak değerlendirebilirsiniz.
- Alan / yöntem / özellik / etkinliğin tümü aynı ada sahip olabilir (Doğrulanmamış).
- Kendi catch bloğundan bir try bloğuna geri dönebilirsiniz.
- Famandassem erişim belirleyicisine erişiminiz var (
protected internal
fam veya assem) - Genel
<Module>
fonksiyonları tanımlamak için sınıfa veya modül başlatıcısına doğrudan erişim .