using System;
public class Starter {
public static void Main() {
MyClass<int> obj1 = new MyClass<int>();
MyClass<double> obj2 = new MyClass<double>();
MyClass<double> obj3 = new MyClass<double>();
MyClass<int>.Count(obj1);
MyClass<double>.Count(obj2);
}
}
public class MyClass<T> {
public MyClass() {
++counter;
}
public static void Count(MyClass<T> _this) {
Console.WriteLine("{0} : {1}",
_this.GetType().ToString(),
counter.ToString());
}
private static int counter = 0;
}
ASP.NET & Csharp (C#)
ASP.NET & Csharp (C#) , Here you can find my posts about .NET c# .
Use static
/*
C#: The Complete Reference
by Herbert Schildt
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Use static.
using System;
class StaticDemo {
// a static variable
public static int val = 100;
// a static method
public static int valDiv2() {
return val/2;
}
}
public class SDemo {
public static void Main() {
Console.WriteLine("Initial value of StaticDemo.val is "
+ StaticDemo.val);
StaticDemo.val = 8;
Console.WriteLine("StaticDemo.val is " + StaticDemo.val);
Console.WriteLine("StaticDemo.valDiv2(): " +
StaticDemo.valDiv2());
}
}
Sealed Methods
using System;
public class Name {
public string firstName;
public string lastName;
public Name(string firstName, string lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public virtual void Accelerate() {
Console.WriteLine("In Name Accelerate() method");
Console.WriteLine(lastName + " accelerating");
}
}
public class MyName : Name {
public MyName(string firstName, string lastName) : base(firstName, lastName) {
}
sealed public override void Accelerate() {
Console.WriteLine("In MyName Accelerate() method");
Console.WriteLine(lastName + " accelerating");
}
}
class Test{
public static void Main() {
Console.WriteLine("Creating a MyName object");
MyName myMyName = new MyName("Toyota", "MR2");
// call the MyName object's Accelerate() method
Console.WriteLine("Calling myMyName.Accelerate()");
myMyName.Accelerate();
}
}
Illustrates sealed methods
/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example7_10.cs illustrates sealed methods
*/
using System;
// declare the MotorVehicle class
class MotorVehicle
{
// declare the fields
public string make;
public string model;
// define a constructor
public MotorVehicle(string make, string model)
{
this.make = make;
this.model = model;
}
// define the Accelerate() method
public virtual void Accelerate()
{
Console.WriteLine("In MotorVehicle Accelerate() method");
Console.WriteLine(model + " accelerating");
}
}
// declare the Car class (derived from MotorVehicle)
class Car : MotorVehicle
{
// define a constructor
public Car(string make, string model) :
base(make, model)
{
// do nothing
}
// override the Accelerate() method (sealed)
sealed public override void Accelerate()
{
Console.WriteLine("In Car Accelerate() method");
Console.WriteLine(model + " accelerating");
}
}
public class Example7_10
{
public static void Main()
{
// create a Car object
Console.WriteLine("Creating a Car object");
Car myCar = new Car("Toyota", "MR2");
// call the Car object's Accelerate() method
Console.WriteLine("Calling myCar.Accelerate()");
myCar.Accelerate();
}
}
Readonly Property
using System;
//VersionTest
public class VersionReporter {
public static string version {
get {
return "2.0.0.0";
}
}
public VersionReporter() {
}
}
class VersionOutput {
static void Main(string[] args) {
string ver = VersionReporter.version;
Console.WriteLine("Using version {0}", ver);
}
}
Demonstrate readonly
/*
C#: The Complete Reference
by Herbert Schildt
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Demonstrate readonly.
using System;
class MyClass {
public static readonly int SIZE = 10;
}
public class DemoReadOnly {
public static void Main() {
int[]nums = new int[MyClass.SIZE];
for(int i=0; i
The use of readonly fields
/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
Example6_3.cs illustrates the use of readonly fields
*/
// declare the Car class
class Car
{
// declare a readonly field
public readonly string make;
// declare a static readonly field
public static readonly int wheels = 4;
// define a constructor
public Car(string make)
{
System.Console.WriteLine("Creating a Car object");
this.make = make;
}
}
public class Example6_3
{
public static void Main()
{
System.Console.WriteLine("Car.wheels = " + Car.wheels);
// Car.wheels = 5; // causes compilation error
// create a Car object
Car myCar = new Car("Toyota");
System.Console.WriteLine("myCar.make = " + myCar.make);
// myCar.make = "Porsche"; // causes compilation error
}
}