Разработать проект использования делегата - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет Очень нужна помощь с реализацией программы:

Задание:

Разработать проект использования делегата для: - вызова разных методов одним экземпляром делегата; - - многоадресной передачи. В методах предусмотреть вывод результата.

Решение задачи: «Разработать проект использования делегата»

textual
Листинг программы
  1. using System;
  2. using System.Text;
  3.  
  4. class Class1
  5. {
  6.     public static string DoubleStringRemoveChar( string str, int k )
  7.     {
  8.         StringBuilder sb = new StringBuilder();
  9.         sb.Append( str ).Append( str ).Remove( k, 1 );
  10.         return sb.ToString();
  11.     }
  12.    
  13.     public string ReplaceWithPlus( string str, int s )
  14.     {
  15.         StringBuilder sb = new StringBuilder( str );
  16.         sb[ s ] = '+';
  17.         return sb.ToString();
  18.     }
  19. }
  20.  
  21. class Class2
  22. {
  23.     public string SubstringStartFrom( string str, int h )
  24.     {
  25.         StringBuilder sb = new StringBuilder( str );
  26.         return sb.ToString( h, sb.Length - h );
  27.     }
  28. }
  29.  
  30. class Program
  31. {
  32.     delegate string MyDelegate( string str, int i );
  33.    
  34.     public static void Main()
  35.     {
  36.         MyDelegate d = Class1.DoubleStringRemoveChar;
  37.         string str = "Cogito ergo sum";
  38.         int k = 3;
  39.         Console.WriteLine( "Исходная строка: {0}", str );
  40.         Console.WriteLine( "Строка, обработанная методом_1 класса1, вызванным через делегат: {0}",
  41.             d( str, k ) );
  42.        
  43.         Class1 c1 = new Class1();
  44.         d = c1.ReplaceWithPlus;
  45.         int s = 2;
  46.         Console.WriteLine( "Строка, обработанная методом_2 класса1, вызванным через делегат: {0}",
  47.             d( str, s ) );
  48.                          
  49.         Class2 c2 = new Class2();
  50.         d = c2.SubstringStartFrom;
  51.         int h = 4;                          
  52.         Console.WriteLine( "Строка, обработанная методом класса2, вызванным через делегат: {0}",
  53.             d( str, h ) );  
  54.                          
  55.         Console.ReadLine();                          
  56.     }
  57. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы