CruiseControl.NET (CCNet) consists of a suite of applications, but at its core is the CruiseControl.NET Server which is an automated integration server.The Server automates the integration process by monitoring the team's source control repository directly. Every time a developer commits a new set of modifications, the server will automatically launch an integration build to validate the changes. When the build is complete, the server notifies the developer whether the changes that they committed integrated successfully or not.Effectively, integration...
Monday, January 28, 2008
Thursday, January 17, 2008
LINQ : Why need LINQ?
In the official Linq forum, Joe Albahari presents the reasons why he thinks Linq will succeed:LINQ syntax beats SQL syntax. SQL is flawed in that queries become exponentially difficult to write as their complexity grows. LINQ scales much better in this regard. Once you get used to it, it's hard to go back.Database queries are easily composable. You can conditionally add an ORDER BY or WHERE predicate without discovering at run-time that a certain string combination generates a syntax error.More bugs are picked up at compile-time.Parameterization...
Thursday, January 10, 2008
C# : Partial Methods
In C# 3.0, partial classes allow you to split the definition of a class across multiple files. In the same way we can split the definition of a code unit separated over multiple files by Partial Method.The following are some rules that apply to partial methods.• Partial methods must only be defined and implemented in partial classes• Partial methods must specify the partial modifier• Partial methods are private but must not specify as private modifier• Partial methods must return void• Partial methods may be unimplemented• Parital methods may be...
LINQ : Converting an Array of Strings to Integers & Sorting
LINQ is just for queries because it stands for Language Integrated Query. But please don’t think of it only in that context. Normally we use to write a loop to iterate through the array of strings and populate a newly constructed array of integers. But LINQ makes much easier by writing a single line code for the same.The following example helps us to convert an array of string to integer array with sorted result.. Declare an array of stringsstring[] numbers = { "0042", "010", "9", "27" };.Convert the array of strings to an array of integerint[]...
Wednesday, January 9, 2008
LINQ : Introduction to LINQ
LINQ is Microsoft’s technology to provide a language-level support mechanism for querying data of all types. These types include in-memory arrays and collections, databases, XML documents, and more.LINQ is all about queries, whether they are queries returning a set of matching objects, a single object, or a subset of fields from an object or set of objects. In LINQ, this returned set of objects is called a sequence. Most LINQ sequences are of type IEnumerable<T>, where T is the data type of the objects stored in the sequence.For example,...
Monday, January 7, 2008
C# : Extension Methods
For an example where you have a nullable value in the database and you represent this as a Nullable on your C# object (e.g., JoinDate). When you go to save this value back to the database, you want to save a DateTime value, otherwise you want to save a null to the database - specifically a DBNull.Value.In C# 2.0 you'd have to write a static method like this: public static class Util{public static object ToDBValue(Nullable nullable) where T : struct{if (nullable.HasValue){return nullable.Value;}else{return DBNull.Value;}}}and use it likedb.SetParameterValue(cmd,...
Thursday, January 3, 2008
C# : Collection Initialization
In C#3.0, a collection initializer specifies the elements of a collection. A collection initializer is made up of the following way,A sequence of object initializers, enclosed by "{" and "}" tokens and separated by "," . Element initializers, each of which specifies an element to be added to the collection object being added.Note: A collection initializer invokes the ICollection.Add(T) method for each specified element in order. All the initialization...
C# : Object Initializers
In C#, when declaring an object or collection, you may include an initializer that specifies the initial values of the members of the newly created object or collection. In C# 3.0, the new syntax for object creation and initialization in a single step. An object initializer consists of a sequence of member initializers, contained in '{ } 'braces and separated by commas. Each member initializer assigns a value to a field or property of the object....
Frameworks: Comparison between VS Frameworks

The comparison between Frameworks in Visual StudioThe core assemblies installed from the .NET Framework version 2.0 are still used by the 3.0 and 3.5 versions. In ASP.NET 3.5 doesn't change or take away or break any functionality, concepts, or code present in 2.0 - it simply adds new types and features and capabilities to the framework. The VS 2008 is multi-targeted, meaning that you choose from a drop-down list whether to have Visual Studio 2008...
C# : Auto-Implemented Properties
Auto-Implemented Properties :Auto-implemented properties make property-declaration more concise when no additional logic is required in the property accessors. When you declare a property as shown in the following example, the compiler creates a private, anonymous backing field can only be accessed through the property’s get and set accessors. The following example shows a simple class that has some auto-implemented properties:class Emplyee{public int ID { get; private set; } // read-onlypublic string Name { get; private set; } // read-only public...