private void button8_Click(object sender, EventArgs e)
{
try
{
button6.PerformClick(); // 觸發 button6 建立 myPermission
DnsPermission copy = (DnsPermission)myPermission.Copy();
DnsPermission none = new DnsPermission(PermissionState.None);
none.Demand();
DnsPermission intersect = (DnsPermission)copy.Intersect(none);
if (intersect != null)
PrintKeysAndValues(intersect.ToXml().Attributes);
else
MessageBox.Show("交集權限不存在");
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
public void UseDns()
{
button6.PerformClick();
myPermission.Demand();
PrintKeysAndValues(myPermission.ToXml().Attributes);
}
private void PrintKeysAndValues(Hashtable ht)
{
IDictionaryEnumerator en = ht.GetEnumerator();
while (en.MoveNext())
{
listBox1.Items.Add(en.Key);
listBox2.Items.Add(en.Value);
}
}
示範 Copy、Intersect、ToXml、Demand 組合使用,驗證 DNS 存取權限交集與序列化。