程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中DnsPermission類簡介及示例應用(2)

C#中DnsPermission類簡介及示例應用(2)

編輯:關於C語言
例 DnsPermission類的方法應用舉例

本示例實現的是設置與獲取本機的DNS信息,獲得當前權限實例是否是指定權限實例的子集。

單擊【交集權限】按鈕,用於判斷當前權限實例與指定權限實例是否存在交集。【交集權限】按鈕的Click事件代碼如下:

private void button8_Click(object sender, EventArgs e)
{
try
{
this.button6.PerformClick();
DnsPermission myPermissionCopy = (DnsPermission)myPermission.Copy();
DnsPermission dsNew = new DnsPermission(PermissionState.None);
dsNew.Demand();
DnsPermission permission =
(DnsPermission)myPermissionCopy.Intersect(dsNew);
if (permission != null)
PrintKeysAndValues(permission.ToXML().Attributes);
else
MessageBox.Show("當前權限實例與指定權限實例的交集的權限不存在");
}
catch (Exception ey) { MessageBox.Show(ey.Message); }
}

單擊【原DNS設置】按鈕,調用UseDns與PrintKeysAndValues顯示DNS信息列表。【原DNS設置】按鈕的Click事件代碼如下:

private void button7_Click(object sender, EventArgs e)
{
UseDns();
}

UseDns方法用於創建DnsPermission實例及其當前狀態的XML編碼,其實現代碼如下:

public void UseDns()
{
this.button6.PerformClick();
myPermission.Demand();
PrintKeysAndValues(myPermission.ToXML().Attributes);
}
PrintKeysAndValues方法以“名稱/值”對形式顯示XML元素屬性,其實現代碼如下:
private void PrintKeysAndValues(Hashtable myHashtable)
{
IDictionaryEnumerator myEnumerator = myHashtable.GetEnumerator();
while (myEnumerator.MoveNext())
{
this.listBox1.Items.Add(myEnumerator.Key);
this.listBox2.Items.Add( myEnumerator.Value);
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved