コード例 #1
0
ファイル: Program.cs プロジェクト: mintsouler/Essential
        //动态绑定
        public static void DynamicBind()
        {
            Console.WriteLine("\n------------动态绑定-----------------");
            dynamic person = DynamicXml.Parse(@"<Person>
            <FirstName>lee</FirstName>
            <LastName>xifoeng</LastName>
            </Person>");

            Console.WriteLine(person.FirstName);
        }
コード例 #2
0
ファイル: DynamicXml.cs プロジェクト: mintsouler/Essential
        public override bool TryGetMember(GetMemberBinder binder, out object result)
        {
            bool success = false;

            result = null;
            XElement firstDecendant = Element.Descendants(binder.Name).FirstOrDefault();

            if (firstDecendant != null)
            {
                if (firstDecendant.Descendants().Count() > 0)
                {
                    result = new DynamicXml(firstDecendant);
                }
                else
                {
                    result = firstDecendant.Value;
                }
                success = true;
            }
            return(success);
        }