Exemple #1
0
 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);
        }
Exemple #5
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
        }
Exemple #6
0
        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();
        }
Exemple #9
0
 private void Start()
 {
     changeNumScript = gameObject.GetComponentInParent <ChangeNumber>();
 }