示例#1
0
        public static void Snippet2()
        {
            // <Snippet2>
            UriTemplate temp1 = new UriTemplate("weather/{state}/{city}");
            UriTemplate temp2 = new UriTemplate("weather/{country}/{village}");

            // Notice they are not reference equal, in other words
            // they are do not refer to the same object
            if (temp1 == temp2)
            {
                Console.WriteLine("{0} and {1} are reference equal", temp1, temp2);
            }
            else
            {
                Console.WriteLine("{0} and {1} are NOT reference equal", temp1, temp2);
            }

            // Notice they are structrually equal
            UriTemplateEquivalenceComparer comparer = new UriTemplateEquivalenceComparer();
            bool result = comparer.Equals(temp1, temp2);

            if (result)
            {
                Console.WriteLine("{0} and {1} are structurally equal", temp1, temp2);
            }
            else
            {
                Console.WriteLine("{0} and {1} are NOT structurally equal", temp1, temp2);
            }
            // </Snippet2>
        }
		public void Compare ()
		{
			var t1 = new UriTemplate ("urn:foo");
			var t2 = new UriTemplate ("urn:bar");
			var t3 = new UriTemplate ("urn:foo", true);
			var dic = new Dictionary<string,string> ();
			dic.Add ("foo", "v1");
			var t4 = new UriTemplate ("urn:foo", dic);
			var c = new UriTemplateEquivalenceComparer ();
			Assert.IsFalse (c.Equals (t1, t2), "#1");
			Assert.IsTrue (c.Equals (t1, t3), "#2");
			Assert.IsTrue (c.Equals (t1, t4), "#3");
			Assert.IsTrue (c.Equals (null, null), "#4");
			Assert.IsFalse (c.Equals (null, t1), "#5");
			Assert.IsFalse (c.Equals (t1, null), "#6");
		}
        public void Compare()
        {
            var t1  = new UriTemplate("urn:foo");
            var t2  = new UriTemplate("urn:bar");
            var t3  = new UriTemplate("urn:foo", true);
            var dic = new Dictionary <string, string> ();

            dic.Add("foo", "v1");
            var t4 = new UriTemplate("urn:foo", dic);
            var c  = new UriTemplateEquivalenceComparer();

            Assert.IsFalse(c.Equals(t1, t2), "#1");
            Assert.IsTrue(c.Equals(t1, t3), "#2");
            Assert.IsTrue(c.Equals(t1, t4), "#3");
            Assert.IsTrue(c.Equals(null, null), "#4");
            Assert.IsFalse(c.Equals(null, t1), "#5");
            Assert.IsFalse(c.Equals(t1, null), "#6");
        }