CreateInstance() 공개 정적인 메소드

public static CreateInstance ( object ctx, string uri ) : ISender
ctx object
uri string
리턴 ISender
예제 #1
0
        public void EqTest()
        {
            var fp  = FragPipe.Instance; //Get some sender
            var fs1 = new FragmentingSender(100, fp);
            var fs2 = new FragmentingSender(100, fp);

            Assert.AreEqual(fs1, fs2);
            Assert.AreEqual(fs1.GetHashCode(), fs2.GetHashCode());
            //urlencode sender:pipe
            Assert.AreEqual(fs1.ToUri(), "sender:frag?max=100&wrap=sender%3apipe");
            Assert.AreEqual(fs1, SenderFactory.CreateInstance(null, fs1.ToUri()), "uri RT");
        }
예제 #2
0
        public static ISender CreateInstance(object ctx, string uri)
        {
            string scheme;
            var    kv = SenderFactory.DecodeUri(uri, out scheme);

            if (scheme.Equals("frag"))
            {
                int     max     = System.Int32.Parse(kv["max"]);
                string  wuri    = kv["wrap"];
                ISender wrapped = SenderFactory.CreateInstance(ctx, wuri);
                return(new FragmentingSender(max, wrapped));
            }
            else
            {
                throw new System.Exception("Unrecognized scheme: " + scheme);
            }
        }