My Blog

lupok
My Blog
RssIcon

Application Settings in App.Config

by host on mercoledì 30 gennaio 2013 15:46
Alcune dettagli di configurazione applicazione mediante App.Config 

Per specificare le informazioni di avvio del CLR si utilizza l'elemento startup, questo elemento è utile nel caso l'applicazione sia sviluppata con il framework 4 ma abbia referenziato assembly compilati con il framework 2:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0"/>
   </startup>
</configuration>

Working with CodeDom

by host on martedì 29 gennaio 2013 14:41
Un esempio che mostra come è possibile creare codice attraverso il namespace CodeDom. 

In particolare viene creata una classe con un proprio costruttore, definiti campi e metodi dove il corpo del metodo viene letto da un file di testo.

System.Reflection.Emit: Creare un metodo "al volo" ed invocarlo

by host on giovedì 24 gennaio 2013 12:36

In questo esempio viene mostrato come è possibile creare un metodo a runtime ed invocarlo mediante in namespace System.Reflection.Emit.

// dichiarazione del metodo in cui si specifica il nome, 
// il tipo di ritorno, i parametri la classe a cui è associato
DynamicMethod print = new DynamicMethod("Print"null, 
   new Type[] { typeof(String) }, typeof(MyClass));
 
//Ottiene un generatore di MISL per il metodo Print
ILGenerator il = print.GetILGenerator(256);
 
//definisce un parametro per il metodo Print
print.DefineParameter(1, ParameterAttributes.In, "path");
 
//crea una nuova istanza della classe MyClass
il.Emit(OpCodes.Newobj, typeof(MyClass).GetConstructor(new Type[0]));

Bitset function in C#

by host on mercoledì 23 gennaio 2013 17:19
Alcune funzioni utili per leggere e scrivere uno specifico bit all'interno di un intero:
      /// <summary>
      /// Ottiene il valore di un bit
      /// </summary>
      /// <param name="value">Valore di cui è richiesto il bit</param>
      /// <param name="bit">Indice del bit.</param>
      /// <returns>True se il bit è 1, false se è 0.</returns>
      public static bool Get(int value, byte bit)
      { 
         return (value >> bit & 1) == 1; 
      }
 

Custom Configuration Settings in App.Config (part 2)

by host on venerdì 18 gennaio 2013 12:16
Estensione dell'esempio  Custom Configuration Settings in App.Config (part 1)  in cui viene mostrato come personalizzare il file di configurazione inserendo liste di elementi.

 

   [ConfigurationProperty("items", IsRequired = false, IsKey = false, IsDefaultCollection = true)]
   public ItemCollection Items
   {
      get { return ((ItemCollection)(base["items"])); }
      set { base["items"] = value; }
   }

Call Windows API from JAVA

by host on giovedì 17 gennaio 2013 17:10
Se da un'applicazione java abbiamo necessita di invocare API native o richiamare moduli sviluppati in linguaggi differenti come ad esempio C++, ci viene in aiuto Java Native Interface o JNI (letteralmente interfaccia nativa Java). JNI è il nome di un framework di programmazione che ha lo scopo di permettere ad applicazioni Java di interfacciarsi con funzioni scritte in altri linguaggi di programmazione, in particolare C, C++ e assembly.

Export methods using MEF

by host on mercoledì 16 gennaio 2013 17:28
L'attributo Export può decorare anche un metodo, in modo analogo a una classe, una proprietà o una funzione.Le esportazioni di metodi devono specificare un tipo di contratto o un nome di contratto, dato che non è possibile dedurre il tipo.Il tipo specificato può essere un delegato personalizzato o un tipo generico, ad esempio Func.

public class Methods
{

   [Export("methods")]
   public String Method1()
   {
      return "this is method 1";
   }

   [Export("methods")]
   public String Method2()
   {
      return "this is method 2";
   }
}

Create modular Windows Forms application using MEF

by host on mercoledì 16 gennaio 2013 15:14
Questo esempio mostra l'utilità di MEF nel creare applicazioni con architettura modulare in cui ogni componente grafico è posizionato in una regione definita dell'applicazione attarverso attributi che ne espongono le caratteristiche.

 

Custom Configuration Settings in App.Config (part 1)

by host on martedì 15 gennaio 2013 16:02

The following example shows how to define the properties of a custom ConfigurationSection object using the ConfigurationPropertyAttribute attribute.

The example contains two classes. The UrlsSection custom class uses the ConfigurationPropertyAttribute to define its own properties. The UsingConfigurationPropertyAttribute class uses the UrlsSection to read and write the custom section in the application configuration file.

Managed Extensibility Framework (MEF) example

by host on venerdì 11 gennaio 2013 17:08

Un semplice esempio tratto dall'msdn sull'utilizzo di MEF:

using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Text;
 
namespace MefExample
{
   [Export(typeof(IOperation))]
   [ExportMetadata("Symbol", '-')]
   class Subtract : IOperation
   {
      public int Operate(int left, int right)
      {
         return left - right;
      }
   }
 
}

Tags