Skip to content

v2 Project Information

axunonb edited this page Feb 6, 2022 · 1 revision

Project Information

Language Specifics

SmartFormat is written purely in C# and uses the .NET 3.5 Framework.

Compatibility with the .NET 2.0 Framework

SmartFormat takes advantage of several features of .NET 3.5:

  1. Extension methods (in the file SmartExtensions.cs)
  2. LINQ extension methods are used in several places (example: .FirstOrDefault())
  3. Automatically implemented properties (example: public string Format { get; private set; })
  4. Implicitly typed local variables (using var keyword)

The majority of these features simply provide a cleaner syntax than .NET 2.0.

If you are familiar with both C# 2.0 and C# 3.5, it should be pretty trivial to convert this project to pure C# 2.0. The extension methods can be removed, the LINQ methods used are very simple to reproduce, and auto-implemented properties and implicitly-typed variables can easily be refactored.

Alternatively, the original version of this project was created in VB.NET with the .NET 2.0 framework. Please see "Project History" below for details and download links.

Project History

The SmartFormat project originally started as CustomFormat and was written in VB.NET with the .NET 2.0 framework. It is still available on CodeProject: CustomFormat.

Contributors

Scott Rippey
Created the original CustomFormat project, and redesigned it as SmartFormat in C#.

Quentin Starin
Ported CustomFormat from VB.NET to C#, and designed the initial C# project structure.

Jesse Plamondon-Willard
Contributed many useful ideas to help guide the path of new features. Also helped with library documentation and Wiki documentation.

Clone this wiki locally