2013年12月20日 星期五

C# - Types的判斷方法

這次文章想小小的偷懶一下,所以分享一些小方法技巧,有關於Type的判斷方式

CheckBox cbt = cb as CheckBox;

(cbt != null) cbt.Checked = true;

宣告一個CheckBox並且將被判斷的變數用as轉換,
如果 cb 不是 CheckBox的話,cbt會等於null。

第二個方法是用GetType(),
GetType().Name可以取出Type名稱的字串,
好處是可以用switch…case判斷結果

string ValueString;
switch (Value.GetType().Name)
{
    case "String":
        ValueString = (string) Value;
        break;

    case "Int32":
        ValueString = ((int) Value).ToString();
        break;

    case "Boolean":
        ValueString = Convert.ToString((bool) Value);
        break;

    default:
        throw (new ApplicationException("型別不符"));
        break;

}

第三個方法
private void Control_Click(object sender, EventArgs e)
{
    if (sender is Button)
        this.Text = "Button";
    else if (sender is CheckBox)
        this.Text = "CheckBox";
}


-雲遊山水為知已逍遙一生而忘齡- 電腦神手

沒有留言:

張貼留言