Разработать проект использования делегата - C#
Формулировка задачи:
Всем привет
Очень нужна помощь с реализацией программы:
Задание:
Разработать проект использования делегата для: - вызова разных методов одним экземпляром делегата; - - многоадресной передачи. В методах предусмотреть вывод результата.Решение задачи: «Разработать проект использования делегата»
textual
Листинг программы
using System; using System.Text; class Class1 { public static string DoubleStringRemoveChar( string str, int k ) { StringBuilder sb = new StringBuilder(); sb.Append( str ).Append( str ).Remove( k, 1 ); return sb.ToString(); } public string ReplaceWithPlus( string str, int s ) { StringBuilder sb = new StringBuilder( str ); sb[ s ] = '+'; return sb.ToString(); } } class Class2 { public string SubstringStartFrom( string str, int h ) { StringBuilder sb = new StringBuilder( str ); return sb.ToString( h, sb.Length - h ); } } class Program { delegate string MyDelegate( string str, int i ); public static void Main() { MyDelegate d = Class1.DoubleStringRemoveChar; string str = "Cogito ergo sum"; int k = 3; Console.WriteLine( "Исходная строка: {0}", str ); Console.WriteLine( "Строка, обработанная методом_1 класса1, вызванным через делегат: {0}", d( str, k ) ); Class1 c1 = new Class1(); d = c1.ReplaceWithPlus; int s = 2; Console.WriteLine( "Строка, обработанная методом_2 класса1, вызванным через делегат: {0}", d( str, s ) ); Class2 c2 = new Class2(); d = c2.SubstringStartFrom; int h = 4; Console.WriteLine( "Строка, обработанная методом класса2, вызванным через делегат: {0}", d( str, h ) ); Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д