Progression du Core Library en 2013

Plus de 95% des fonctionnalités du Core Library sont désormais implémentées.

Les travaux restants sont essentiellement des ajustements, des corrections, des tests unitaires, le packaging et éventuellement vérifier la compatibilité Mono, ce qui devrait nécessiter quelques mois.

Voici la liste actuelle des espaces de noms :

  • Ordisoftware.Core
    ObjectUtility, ReflexionUtility, StringUtility, SystemManager, DisplayManager
  • Ordisoftware.Core.Collections.Generic
    SingletonList, SingletonDictionary, SingletonHashSet, etc.
  • Ordisoftware.Core.Compute
    BinaryValue, MathExtended, MathGeneric
  • Ordisoftware.Core.Configuration
    SystemSettings, Parameters
  • Ordisoftware.Core.Data
    Singleton, SharedStaticValue, ThreadedValue, NameValue, Tuple
  • Ordisoftware.Core.Data.Embedded
    EmbeddedValue, EmbeddedOrdinal
  • Ordisoftware.Core.Diagnostics
    Debugger, Logger
  • Ordisoftware.Core.Diagnostics.Testing
    UnitTest, TestManager
  • Ordisoftware.Core.Globalization
    Localizer
  • Ordisoftware.Core.IO
    FileLister, Filer, IniFile, TextFileManager, FolderLister, FolderTool
  • Ordisoftware.Core.Net.Remoting
    RemoteClientBase, RemoteServerBase, RemoteComposite
  • Ordisoftware.Core.Security
    Passwordable, PasswordManager
  • Ordisoftware.Core.Text
    TextFormatter
  • Ordisoftware.Core.Threading
    Chronometer, ManagedThread, ManagedThreadList, ThreadManager
  • Ordisoftware.Core.Windows.Forms
    InputBox, ObjectInspector, ExceptionForm, LogForm, TestManagerForm

Membres statiques partagés entre les instances des types génériques construits fermés

Chaque type générique construit fermé possède son propre accès aux membres statiques.

Si Class<T> a pour membre statique Value alors Class<int> et Class<string> possèdent deux valeurs distinctes de Value.

En effet, tel que mentionné dans cet article sur les interfaces, il n'existe pas en C# d'opérateur diamond permettant d'accéder au type générique ouvert sous-jacent aux types fermés, ce qui empêche le polymorphisme générique.

Comment avoir une Value identique pour tous les types ou comment avoir une valeur statique commune à des classes simples telles que Class1 et Class2 ?

Voici une solution.

Lire la suite »


Apperçu de la classe générique SingletonList

Voici un exemple simplifié d'une hiérarchie basée sur les dernières améliorations du Singleton afin de créer une liste générique persistante :

Exemple d'utilisation :