keyword "dynamic" - real world applications?
-
Hi I've been searching for any real world applications for C# keyword "dynamic" Example 1 seems pretty lame as "interface" serves a purpose[^] Example 2 - example don't seems to work, see code below.[^]
static void Test1() { System.Xml.XmlDocument xmlDoc = null; System.Xml.XmlElement xmlElement = null; try { // REF: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.getelementbyid.aspx#Y790 xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(("<!DOCTYPE root [<!ELEMENT root ANY><!ELEMENT Person ANY><!ELEMENT Customer EMPTY><!ELEMENT Team EMPTY><!ATTLIST Person SSN ID #REQUIRED><!ATTLIST Customer id IDREF #REQUIRED ><!ATTLIST Team members IDREFS #REQUIRED>]><root><Person SSN='A111' Name='Fred'/><Person SSN='A111'/><Person SSN='A222' Name='Tom'/><Customer id='A111'/><Customer id='A222334444'/><Team members='A222334444 A333445555'/></root>")); xmlElement = xmlDoc.GetElementById("A111"); Console.WriteLine(xmlElement.OuterXml); } catch (Exception Ex) { Console.WriteLine(Ex.Message); } return; } static void Test2() { dynamic xmlDoc = null; dynamic xmlElement = null; try { // REF: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.getelementbyid.aspx#Y790 xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(("<!DOCTYPE root [<!ELEMENT root ANY><!ELEMENT Person ANY><!ELEMENT Customer EMPTY><!ELEMENT Team EMPTY><!ATTLIST Person SSN ID #REQUIRED><!ATTLIST Customer id IDREF #REQUIRED ><!ATTLIST Team members IDREFS #REQUIRED>]><root><Person SSN='A111' Name='Fred'/><Person SSN='A111'/><Person SSN='A222'
-
Hi I've been searching for any real world applications for C# keyword "dynamic" Example 1 seems pretty lame as "interface" serves a purpose[^] Example 2 - example don't seems to work, see code below.[^]
static void Test1() { System.Xml.XmlDocument xmlDoc = null; System.Xml.XmlElement xmlElement = null; try { // REF: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.getelementbyid.aspx#Y790 xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(("<!DOCTYPE root [<!ELEMENT root ANY><!ELEMENT Person ANY><!ELEMENT Customer EMPTY><!ELEMENT Team EMPTY><!ATTLIST Person SSN ID #REQUIRED><!ATTLIST Customer id IDREF #REQUIRED ><!ATTLIST Team members IDREFS #REQUIRED>]><root><Person SSN='A111' Name='Fred'/><Person SSN='A111'/><Person SSN='A222' Name='Tom'/><Customer id='A111'/><Customer id='A222334444'/><Team members='A222334444 A333445555'/></root>")); xmlElement = xmlDoc.GetElementById("A111"); Console.WriteLine(xmlElement.OuterXml); } catch (Exception Ex) { Console.WriteLine(Ex.Message); } return; } static void Test2() { dynamic xmlDoc = null; dynamic xmlElement = null; try { // REF: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.getelementbyid.aspx#Y790 xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(("<!DOCTYPE root [<!ELEMENT root ANY><!ELEMENT Person ANY><!ELEMENT Customer EMPTY><!ELEMENT Team EMPTY><!ATTLIST Person SSN ID #REQUIRED><!ATTLIST Customer id IDREF #REQUIRED ><!ATTLIST Team members IDREFS #REQUIRED>]><root><Person SSN='A111' Name='Fred'/><Person SSN='A111'/><Person SSN='A222'
I've used dynamic with COM interop, but like var and this, its a keyword thats often abused by lazy programmers. Reflection should always be your last resort since its super duper slow.
-
Hi I've been searching for any real world applications for C# keyword "dynamic" Example 1 seems pretty lame as "interface" serves a purpose[^] Example 2 - example don't seems to work, see code below.[^]
static void Test1() { System.Xml.XmlDocument xmlDoc = null; System.Xml.XmlElement xmlElement = null; try { // REF: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.getelementbyid.aspx#Y790 xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(("<!DOCTYPE root [<!ELEMENT root ANY><!ELEMENT Person ANY><!ELEMENT Customer EMPTY><!ELEMENT Team EMPTY><!ATTLIST Person SSN ID #REQUIRED><!ATTLIST Customer id IDREF #REQUIRED ><!ATTLIST Team members IDREFS #REQUIRED>]><root><Person SSN='A111' Name='Fred'/><Person SSN='A111'/><Person SSN='A222' Name='Tom'/><Customer id='A111'/><Customer id='A222334444'/><Team members='A222334444 A333445555'/></root>")); xmlElement = xmlDoc.GetElementById("A111"); Console.WriteLine(xmlElement.OuterXml); } catch (Exception Ex) { Console.WriteLine(Ex.Message); } return; } static void Test2() { dynamic xmlDoc = null; dynamic xmlElement = null; try { // REF: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.getelementbyid.aspx#Y790 xmlDoc = new System.Xml.XmlDocument(); xmlDoc.LoadXml(("<!DOCTYPE root [<!ELEMENT root ANY><!ELEMENT Person ANY><!ELEMENT Customer EMPTY><!ELEMENT Team EMPTY><!ATTLIST Person SSN ID #REQUIRED><!ATTLIST Customer id IDREF #REQUIRED ><!ATTLIST Team members IDREFS #REQUIRED>]><root><Person SSN='A111' Name='Fred'/><Person SSN='A111'/><Person SSN='A222'