static void Main(string[] args) { // Tworzymy instancję delegata używając metody anonimowej ChangeNumber cn = delegate (int x) { Console.WriteLine("Metoda anonimowa: {0}", x); }; // wywołanie delegata używając metody anonimowej cn(10); // a teraz inicjowanie delgata używając metody nazwanej cn = new ChangeNumber(AddNumber); // wywołanie delegata używając metody nazwanej cn(10); // inicjowanie delegata przy użyciu innej metody nazwanej cn = new ChangeNumber(MultiplyNumber); // wywołanie delegata cn(2); // Zwrócenie liczby po dokonanych zmianach Console.WriteLine("Rezultat: {0}", Program.GetNumber()); Console.ReadKey(); // Wynik działania programu // Metoda anonimowa: 10 // Metoda nazwana: 20 // Metoda nazwana: 40 // Rezultat: 40 }
public void ToXml(XmlWriter writer) { writer.WriteStartElement("modification"); writer.WriteAttributeString("type", Type); writer.WriteElementString("filename", FileName); writer.WriteElementString("project", FolderName); writer.WriteElementString("date", ModifiedTime.ToString("yyyy-MM-dd HH:mm:ss")); writer.WriteElementString("user", UserName); writer.WriteElementString("comment", Comment); writer.WriteElementString("changeNumber", ChangeNumber.ToString()); if (!(Version == null || Version.Length == 0)) { writer.WriteElementString("version", Version); } if (Url != null) { writer.WriteElementString("url", Url); } if (_EmailAddress != null) { writer.WriteElementString("email", _EmailAddress); } writer.WriteEndElement(); }
static void Main2(String[] args) { //创建委托实例 ChangeNumber cn1 = new ChangeNumber(AddNum); ChangeNumber cn2 = new ChangeNumber(MulNum); //使用委托对象调用方法 cn1(25); Console.WriteLine("Num={0}", getNum()); cn2(5); Console.WriteLine("Num={0}", getNum()); Console.ReadKey(); }
public void TestChangeNumber() { ChangeNumber <int> cn1 = new ChangeNumber <int>(AddNum); ChangeNumber <int> cn2 = new ChangeNumber <int>(SumNum); ChangeNumber <double> cn3 = new ChangeNumber <double>(MultiplyNum); cn1(10); cn2(20); cn3(8.8f); ChangeNumber <double> cn4 = cn3; ChangeNumber <double> cn5 = new ChangeNumber <double>(MultiplyNum); cn4 += cn5; cn4(100.0); }
static void Main(string[] args) { // tworzenie dwóch innych instancji delegatów, każdy z nich ma po jednej metodzie różnej, ale metod w delegacie mogłoby byćwiecej ChangeNumber cn1 = new ChangeNumber(AddNumber); ChangeNumber cn2 = new ChangeNumber(MultiplyNumber); // wywoływanie metod używajac delegatów cn1(5); Console.WriteLine("Wartość liczby: {0}", GetNumber()); cn2(10); Console.WriteLine("Wartość liczby: {0}", GetNumber()); Console.ReadKey(); // Wynik działania programu // Wartosc liczby: 10 // Wartosc liczby: 100 }
static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; ChangeNumber cn1 = Add; cn1(3); Console.WriteLine("Số sau khi cộng thêm:" + number); ChangeNumber cn2 = Mul; cn2(4); Console.WriteLine("Số sau khi nhân thêm:" + number); ChangeNumber cn3 = cn2 + cn1; cn3(2); Console.WriteLine("After:" + number); Console.Read(); }
public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + (ChangeNumber == default(int) ? 0 : ChangeNumber.GetHashCode()); hash = hash * 23 + (Document1 == null ? 0 : Document1.GetHashCode()); hash = hash * 23 + (DocumentLevel == null ? 0 : DocumentLevel.GetHashCode()); hash = hash * 23 + (DocumentSummary == null ? 0 : DocumentSummary.GetHashCode()); hash = hash * 23 + (FileExtension == null ? 0 : FileExtension.GetHashCode()); hash = hash * 23 + (FileName == null ? 0 : FileName.GetHashCode()); hash = hash * 23 + (FolderFlag == default(bool) ? 0 : FolderFlag.GetHashCode()); hash = hash * 23 + (ModifiedDate == default(DateTime) ? 0 : ModifiedDate.GetHashCode()); hash = hash * 23 + (Owner == default(int) ? 0 : Owner.GetHashCode()); hash = hash * 23 + (Revision == null ? 0 : Revision.GetHashCode()); hash = hash * 23 + (Rowguid == default(Guid) ? 0 : Rowguid.GetHashCode()); hash = hash * 23 + (Status == default(byte) ? 0 : Status.GetHashCode()); hash = hash * 23 + (Title == null ? 0 : Title.GetHashCode()); return(hash); } }
static void Main(string[] args) { //create delegate instances ChangeNumber NC1 = new ChangeNumber(AddNum); ChangeNumber NC2 = new ChangeNumber(MulNum); //calling the methods using the delegate objects NC1(5); Console.WriteLine("Value of Num {0}", GetNum()); NC2(10); Console.WriteLine("Value of Num {0}", GetNum()); //################################################################## PrintString.print_string ps1 = new PrintString.print_string(PrintString.WriteToScrenn); PrintString.print_string ps2 = new PrintString.print_string(PrintString.WriteToFile); PrintString.SendString(ps1); PrintString.SendString(ps2); Console.ReadKey(); }
private void Start() { changeNumScript = gameObject.GetComponentInParent <ChangeNumber>(); }