Visual Basic .NET è case-insensitive, mentre C# fa differenza tra maiuscole e minuscole. C'è un caso in cui questo comportamento può causare problemi. La seguente classe C# compila correttamente:
1 public class TestClass
2 {
3 public void Foo(string str)
4 {
5 MessageBox.Show("Richiamata Foo con parametro " + str);
6 }
7
8 public void foo(string str)
9 {
10 MessageBox.Show("Richiamata foo con parametro " + str);
11 }
12
13 public void TestMethod(string str)
14 {
15 MessageBox.Show("Richiamata Test con parametro " + str);
16 }
17 }
Per il compilatore C#, infatti, i metodi Foo (linea 3) e foo (linea 8) sono differenti. Ma cosa succede se questa classe fa parte di una libreria il cui riferimento viene aggiunto ad un progetto Visual Basic? Per quest'ultimo Foo e foo sono la stessa cosa. In una situazione del genere, l'InstelliSense dell'editor di VB semplicemente non mostra Foo e foo tra l'elenco dei membri della classe. Se, nonostante questo, si prova a richiamare Foo (oppure foo) da VB, si ottiene il seguente messaggio in fase di compilazione:
'Foo' is ambiguous because multiple kinds of members with this name exist in class 'ClassLibrary1.TestClass'
Come fatto notare da Marco De Sanctis, un assembly che espone identificatori di questo tipo non è CLS compliant (maggiori informazioni sull'argomento sono disponibili qui).
La Volume Shadow Copy (o Previous Version, come viene chiamata in Vista) è una tecnica introdotta in Windows Server 2003 per tenere copie di backup di ogni file e cartella presente sul nostro computer. Perfino se eliminate un file dal cestino, questo sistema di backup ne terrà traccia, e potrete ripristinarlo in qualsiasi momento.
In questo post (da cui è tratta la citazione precedente) è possibile trovare maggiori informazioni sulla funzionalità in questione.
Cercando su Internet è possibile trovare numerose class library che consentono di gestire i Feed RSS dalle proprie applicazioni .NET. Come avevo segnalato qui, anche Microsoft fornisce un'API per la loro manipolazione. Recentemente ho scoperto Argotic, una libreria con le seguenti caratteristiche:
- Complete implementation of the .
- Complete implementation of the ATOM 1.0 specification.
- Implements a provider model for storing/retrieving syndication information to your back-end database of choice.
- Provides an extensible framework for processing any syndication specification extension.
- Natively handles the RCF822 and W3C DateTime structures.
- Support for auto-discovery of syndication feeds for a given web site.
- Supports consumption of secure/authenticated syndication feeds.
- Implementations of the most common syndication specification extensions.
La libreria è fornita con la Microsoft Permissive License (Ms-PL). Il download è disponibile qui.
Technorati Tags:
Programming,
.NET
Qualche tempo fa avevo scritto un post in cui facevo notare che gli oggetti OpenFileDialog e SaveFileDialog di .NET 2.0 con Windows Vista non utilizzano il nuovo stile delle finestre di dialogo comuni, ma appaiono così come erano in Windows XP. Il .NET Framework 3.5 risolve questo problema e mostra le finestre con lo stile corretto.
Technorati Tags:
.NET,
Windows