Una nuova keyword: dynamic.

Lascia un commento

C# 4.0 supporta la programmazione dinamica per mezzo di un nuovo tipo di oggetti, il tipo dynamic.
Per fare ciò è stata introdotta una nuova keyword (dynamic) per indicare al compilatore che tutto ciò che ha che fare con l’oggetto, dichiarato dynamic, dovrebbe essere fatto in modo dinamico a run-time (Dynamic Language Runtime) piuttosto che a compile-time. L’uso di dynamic si fa particolarmente interessante quando usiamo frequentemente reflection, ad esempio:

Assembly myLib =
      Assembly.LoadFile( @"C:\temp\mylib.dll" );
Type customerType = myLib.GetType( "Mylib.Customer" );
object customer =
      Activator.CreateInstance( customerType );
PropertyInfo pInfo = customerType.GetProperty( "Name" );
pInfo.SetValue( customer, "Antonio", null);

Con l’introduzione di C# 4.0 possiamo sostituire le rughe di codice 3,4 e 5 in questo modo:

dynamic customer =
      Activator.CreateInstance( customerType ) ;
customer.Name = "Antonio";

Predicate

Lascia un commento

A partire da .NET Framework 2.0 abbiamo a disposizione alcuni delegate generici di sistema molto utili tra cui Predate<T>, che ci permette di gestire quei casi (comuni) che prendono un parametro di tipo T e tornano un bool.

Con l’introduzione di Predicate<T> sono stati anche aggiunti dei nuovi metodi generici alla libreria di sistema tra cui segnalo Array.FindAll<T>. Un esempio di utilizzo:

Predicate Example

Iscriviti

Get every new post delivered to your Inbox.

Join 70 other followers