Use BitArray collection as Flag
using System;
using System.Collections;
public class Starter {
public static void Main() {
Hashtable employees = new Hashtable();
employees.Add("A100", new Employee("Ben", true, false, true));
employees.Add("V100", new Employee("Valerie", false, false, true));
Participation((Employee)employees["A100"]);
Participation((Employee)employees["V100"]);
}
public static void Participation(Employee person) {
Console.WriteLine(person.Name + ":");
if (person.InProfitSharing) {
Console.WriteLine(" Participating in Profit Sharing");
}
if (person.InHealthPlan) {
Console.WriteLine(" Participating in Health Plan");
}
if (person.InCreditUnion) {
Console.WriteLine(" Participating in Credit Union");
}
}
}
public class Employee {
public Employee(string emplName) {
propName = emplName;
eflags.SetAll(true);
}
public Employee(string emplName,
bool profitSharing,
bool healthPlan,
bool creditUnion) {
propName = emplName;
InProfitSharing = profitSharing;
InHealthPlan = healthPlan;
InCreditUnion = creditUnion;
}
private BitArray eflags = new BitArray(3);
public bool InProfitSharing {
set {
eflags.Set(0, value);
}
get {
return eflags.Get(0);
}
}
public bool InHealthPlan {
set {
eflags.Set(1, value);
}
get {
return eflags.Get(1);
}
}
public bool InCreditUnion {
set {
eflags.Set(2, value);
}
get {
return eflags.Get(2);
}
}
private string propName;
public string Name {
get {
return propName;
}
}
}
Related examples in the same category