using System;
using System.Collections.Generic;
using System.Text;
namespace XmlDocCar
{
/// <summary>
/// This is a simple Car.
/// </summary>
public class Car
{
/// <summary>
/// Do you have a sunroof?
/// </summary>
private bool hasSunroof = false;
/// <summary>
/// The ctor lets you set the sunroofedness.
/// </summary>
/// <param name="hasSunroof"></param>
public Car(bool hasSunroof)
{
this.hasSunroof = hasSunroof;
}
/// <summary>
/// This method allows you to open your sunroof.
/// </summary>
/// <param name="state"> </param>
public void OpenSunroof(bool state)
{
if (state == true && hasSunroof == true)
Console.WriteLine("has sub roof!");
else
Console.WriteLine("you don't have a sunroof.");
}
}
}
Month: February 2011
XML Documentation: Compiler Support Tags
using System;
namespace Payroll
{
/// <summary>
/// Comments for the class
/// This class class contains a <see cref="String">string</see>
/// </summary>
public class Employee
{
/// <summary>
/// Constructor for an Employee instance. Note that
/// <paramref name="name">name2</paramref> is a string.
/// </summary>
/// <param name="id">Employee id number</param>
/// <param name="name">Employee Name</param>
public Employee(int id, string name)
{
this.id = id;
this.name = name;
}
/// <summary>
/// Parameterless constructor for an employee instance
/// </summary>
/// <remarks>
/// <seealso cref="Employee(int, string)">Employee(int, string)</seealso>
/// </remarks>
public Employee()
{
id = -1;
name = null;
}
int id;
string name;
}
}
Use summary element
namespace SimpleXML
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args) {}
/// <summary>
/// This method does something interesting.
/// </summary>
public static void Foo() {}
}
}
set up project with one file containing the tag
namespace SimpleXML
{
/// <include file='supporting.xml'
/// path='MyDocs/MyMembers[@name="Class1"]/*' />
class Class1
{
public static void Main() {}
}
/// <include file='supporting.xml'
/// path='MyDocs/MyMembers[@name="Class2"]/*' />
class Class2
{
public void Foo() {}
}
}
Access Reordering and Volatile:Use of volatile
using System;
public class Singleton
{
static object sync = new object();
static volatile Singleton singleton = null;
private Singleton()
{
}
public static Singleton GetSingleton()
{
if (singleton == null)
{
lock(sync)
{
if (singleton == null)
singleton = new Singleton();
}
}
return(singleton);
}
}
A version representing '2.0' does not equal a version representing '2.0.0.0'.
using System;
namespace Samples
{
class Program
{
static void Main(string[] args)
{
Version version1 = new Version(2, 0);
Version version2 = new Version(2, 0, 0);
Version version3 = new Version(2, 0, 0, 0);
Console.WriteLine(version1.Equals(version2));
Console.WriteLine(version1.Equals(version3));
Console.WriteLine(version2.Equals(version3));
}
}
}
Get byte count from UnicodeEncoding
using System;
using System.Text;
class UnicodeEncodingExample {
public static void Main() {
String chars = "Unicode Encoding Example";
UnicodeEncoding Unicode = new UnicodeEncoding();
int byteCount = Unicode.GetByteCount(chars);
Console.WriteLine("{0} bytes needed to encode string.", byteCount);
}
}

