TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Generic Constraint Sample in C#
Arjunan Selvam
Jan 23
2015
Code
1.2
k
0
0
facebook
twitter
linkedIn
Reddit
WhatsApp
Email
Bookmark
expand
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
Generic
{
class
Program
{
static
void
Main(
string
[] args)
{
Employees<HR> HREmployees =
new
Employees<HR>();
HREmployees.Add(
new
HR { Name =
"HREmployee1"
});
HREmployees.Add(
new
HR { Name =
"HREmployee2"
});
HREmployees.Add(
new
HR { Name =
"HREmployee3"
});
HREmployees.Add(
new
HR { Name =
"HREmployee4"
});
HREmployees.Add(
new
HR { Name =
"HREmployee5"
});
Employees<Developer> DevEmployees =
new
Employees<Developer>();
DevEmployees.Add(
new
Developer { dName =
"DevEmployee1"
,platform=
"Dotnet"
});
DevEmployees.Add(
new
Developer { dName =
"DevEmployee2"
,platform=
"Java"
});
DevEmployees.Add(
new
Developer { dName =
"DevEmployee3"
,platform=
"Android"
});
DevEmployees.Add(
new
Developer { dName =
"DevEmployee4"
,platform=
"IOS"
});
DevEmployees.Add(
new
Developer { dName =
"DevEmployee5"
,platform=
"Database"
});
Console.WriteLine(
"********************************"
);
Console.WriteLine(HREmployees.GetFirst().Name);
Console.WriteLine(DevEmployees.GetFirst().dName);
Console.WriteLine(DevEmployees.GetFirst().platform);
}
}
public
class
Employees<T> where T :
class
{
List<T> employees =
new
List<T>();
public
void
Add(T item)
{
if
(!employees.Contains(item))
employees.Add(item);
}
public
T GetFirst()
{
return
(employees.Count > 0) ? employees[employees.Count-1] :
null
;
}
}
public
class
HR
{
public
string
Name {
get
;
set
; }
}
public
class
Developer
{
public
string
dName {
get
;
set
; }
public
string
platform {
get
;
set
; }
}
}
Generic constraint
Generics
C#