For the life of me I can never remember what each property of the Uri class is meant to return. SnippetCompiler to the rescue: public static void RunSnippet()
{
Uri foo = new Uri("http://some.domain.com/folder/file.htm?param=val#frag");
foreach(PropertyInfo pi in foo.GetType().GetProperties()){
if (pi.CanRead) {
WL("{0}: {1}", pi.Name, pi.GetValue(foo, null));
}
}
}
Make sure using System.Reflection; and using System.Web; are is included, and there you have it:
AbsolutePath: /folder/file.htm
AbsoluteUri: http://some.domain.com/folder/file.htm?param=val#frag
Authority: some.domain.com
Host: some.domain.com
HostNameType: Dns
IsDefaultPort: True
IsFile: False
IsLoopback: False
IsUnc: False
LocalPath: /folder/file.htm
PathAndQuery: /folder/file.htm?param=val
Port: 80
Query: ?param=val
Fragment: #frag
Scheme: http
OriginalString: http://some.domain.com/folder/file.htm?param=val#frag
DnsSafeHost: some.domain.com
IsAbsoluteUri: True
Segments: System.String[]
UserEscaped: False
UserInfo:
UPDATE: Steve Michellotti just showed me how this works beautifully in LinqPad as well, just set the language to C# Statement(s), replace WL with Console.WriteLine and you’re good to go.
posted by Oskar Austegard at 11:39 AM on Apr 8, 2010
"Uri Properties"
No comments yet. -