03 January 2011

Enum.HasFlag method in C# 4.0

Enums in dot net programming is a great facility and we all used it to increase code readability. In earlier version of .NET framework we don’t have any method anything that will check whether a value is assigned to it or not. In C# 4.0 we have new static method called HasFlag which will check that particular value is assigned or not. Let’s take an example for that. First I have created a enum called PaymentType which could have two values Credit Card or Debit Card. Just like following.

public enum PaymentType
{
    DebitCard=1,
    CreditCard=2
}

Now We are going to assigned one of the value to this enum instance and then with the help of HasFlag method we are going to check whether particular value is assigned to enum or not like following.

 
protected void Page_Load(object sender, EventArgs e)
{
    PaymentType paymentType = PaymentType.CreditCard;

    if (paymentType.HasFlag(PaymentType.DebitCard))
    {
        Response.Write("Process Debit Card");
    }
    if (paymentType.HasFlag(PaymentType.CreditCard))
    {
        Response.Write("Process Credit Card");
    }

}
 
Now Let’s check out in browser as following.
Enum.Has Flag in C# 4.0
As expected it will print process Credit Card as we have assigned that value to enum.
 

No comments:

Post a Comment