static void Main(string[] args) { Console.WriteLine("***** Fun with Extension Methods *****\n"); #region Display defining assembly extension // The int has assumed a new identity! int myInt = 12345678; myInt.DisplayDefiningAssembly(); // So does this DataSet! System.Data.DataSet d = new System.Data.DataSet(); d.DisplayDefiningAssembly(); // And this MediaPlayer! System.Media.SoundPlayer sp = new System.Media.SoundPlayer(); sp.DisplayDefiningAssembly(); // Remember! Extension methods can be called as normal static // methods. MyExtensions.DisplayDefiningAssembly(false); #endregion #region New integer functionality // Use new integer functionality. Console.WriteLine("Value of myInt: {0}", myInt); Console.WriteLine("Reversed digits of myInt: {0}", myInt.ReverseDigits()); myInt.Foo(); myInt.Foo("Ints that Foo? Who would have thought it!"); #endregion UseCar(); Console.ReadLine(); }
static void Main(string[] args) { int myint = 12345678; myint.DisplayDefiningAssembly(); //notice the method can be used directly , this is the case with all the static methods. System.Media.SoundPlayer sp = new System.Media.SoundPlayer(); sp.DisplayDefiningAssembly(); MyExtensions.DisplayDefiningAssembly(123); int a = MyExtensions.ReverseDigits(123); Console.WriteLine(a); Console.ReadKey(); }
public static void Main(string[] args) { const string para = "This is the c# learning presentation. Azmeena is the presenter."; var result = para.WordCount(); Console.WriteLine(result); var meggi = new Person { FirstName = "Mariana", Capacity = 10 }; meggi.Walk(); var jesica = new Person { FirstName = "Jessica" }; MyExtensions.Walk(jesica); //another way Console.Read(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with Extension Methods *****\n"); // The int has assumed a new identity! int myInt = 12345678; myInt.DisplayDefiningAssembly(); // So has the DataSet! System.Data.DataSet d = new System.Data.DataSet(); d.DisplayDefiningAssembly(); // And the SoundPlayer! System.Media.SoundPlayer sp = new System.Media.SoundPlayer(); sp.DisplayDefiningAssembly(); // Use new integer functionality. Console.WriteLine("Value of myInt: {0}", myInt); // Pre-extensions era Console.WriteLine("Reversed digits of myInt: {0}", MyExtensions.Reverse(myInt)); // Calling extension method Console.WriteLine("Reversed digits of myInt: {0}", myInt.ReverseDigits()); Console.ReadLine(); }
/*[WebMethod( * Description = * "Updates Passholder Details on SmartCitizen. Note that this does not automatically issue a new pass.")] * */ private XmlDocument UpdatePassHolderDetails(int cardHolderId, string title, string forename, string surname, string dateOfBirth, string gender, string disabilitycategory) { XmlDocument responseDoc = new XmlDocument(); try { responseDoc.Load(appDataPath + "CTSelfPassHolderUpdateResponse.xml"); } catch (Exception ex) { if (log.IsErrorEnabled) { log.Error("Could not load Response XML file:" + appDataPath + "CTSelfPassHolderUpdateResponse.xml"); } throw ex; } UpdateCardholderData cardholderData = new UpdateCardholderData(); cardholderData.Identifier = new RecordIdentifier() { CardholderID = cardHolderId }; // map the input fields to the Citizen XML fragment... XElement citizenDataXElement = LoadXmlFragment("WCCSelfUpdateCardholderFragment.xml"); /* * Item IDs: * 68: Title * 3: Forename * 4: Surname * 5: Date of Birth (yyyy-mm-dd hh:mm:ss) * 7: Gender (1=M, 2=F, 0=Trans, 9=Unknown) * 21: Display Name */ DateTime parsedDateTime = DateTime.Parse(dateOfBirth); DateTime testingTryParse; DateTime.TryParse(dateOfBirth, out testingTryParse); citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='68']").Value = MyExtensions.ToTitleCase(title); citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='3']").Value = MyExtensions.ToTitleCase(forename); citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='4']").Value = surname.ToSurnameTitleCase(); citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='5']").Value = parsedDateTime.ToString("yyyy-MM-dd 00:00:00"); citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='21']").Value = MyExtensions.ToTitleCase(forename) + " " + surname.ToSurnameTitleCase(); int genderInt = 9; switch (gender.ToUpper()[0]) { case 'M': genderInt = 1; break; case 'F': genderInt = 2; break; default: genderInt = 9; break; } citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='7']").Value = genderInt.ToString(); cardholderData.CitizenData = citizenDataXElement; if (!String.IsNullOrEmpty(disabilitycategory)) { XElement disabilityServiceXElement = XElement.Parse( "<Service name=\"\" serviceId=\"\"><Item itemId=\"\" dtype=\"lookup\"></Item></Service>"); XElement disabilityLookupFragment = LoadXmlFragment("WCC_SC_DisabilityServiceXRef.xml"); XElement selectedDisabilityElement = disabilityLookupFragment.XPathSelectElement("/DisabilityFragment[@disabilityCategory='" + disabilitycategory + "']"); disabilityServiceXElement.SetAttributeValue("name", selectedDisabilityElement.XPathSelectElement("ServiceName").Value); disabilityServiceXElement.SetAttributeValue("serviceId", selectedDisabilityElement.XPathSelectElement("ServiceId").Value); disabilityServiceXElement.XPathSelectElement("Item").SetAttributeValue("itemId", selectedDisabilityElement.XPathSelectElement("ItemId").Value); disabilityServiceXElement.XPathSelectElement("Item").Value = "Renew"; //selectedDisabilityElement.XPathSelectElement("PermanentLookupId").Value; citizenDataXElement.XPathSelectElement("/Services").Add(disabilityServiceXElement); } try { if (log.IsDebugEnabled) { log.Debug("Update Pass Data Request:"); } if (log.IsDebugEnabled) { log.Debug(SerializeObj(cardholderData)); } _cmClient.UpdateCardholder(cardholderData); if (log.IsInfoEnabled) { log.Info("Passholder ID:" + cardHolderId + "updated."); } responseDoc.SelectSingleNode("PassHolderUpdate/RequestStatus").InnerText = "Success"; } catch (Exception ex) { if (log.IsErrorEnabled) { log.Error("Error updating Card Holder Data for cardholder ID:" + cardHolderId + " - " + ex.Message); } responseDoc.SelectSingleNode("PassHolderUpdate/RequestStatus").InnerText = "Failure"; } return(responseDoc); }