2005年08月08日

エビデンスの情報を取得する

  
FileReader reader = new FileReader(@"d:\temp\sample.txt");
System.Security.Policy.Evidence evidence = reader.GetType().Assembly.Evidence;

System.Collections.IEnumerator e2 = evidence.GetHostEnumerator();
while(e2.MoveNext()) {
Type type = e2.Current.GetType();
listBox1.Items.Add(e2.Current.GetType());
if ( type == typeof(System.Security.Policy.Zone) ) {
Zone zone = e2.Current as Zone;
listBox1.Items.Add(zone.ToString());
} else if ( type == typeof(System.Security.Policy.Url) ) {
Url url = e2.Current as Url;
listBox1.Items.Add(url.ToString());
} else if ( type == typeof(System.Security.Policy.Hash) ) {
Hash hash = e2.Current as Hash;
listBox1.Items.Add(hash.ToString());
} else if ( type == typeof(System.Security.Policy.StrongName) ) {
StrongName sn = e2.Current as StrongName;
listBox1.Items.Add(sn.Name + " - " +
sn.Version + " - " +
sn.PublicKey);
}
}


Zone, Url, Hash については、ToString()を呼び出しているだけなので、こんな場合分けは不要です。まあ、あくまでもサンプルコードということで...


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/29922730