Разработать проект использования делегата - 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();                          
    }
}

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

7   голосов , оценка 3.571 из 5
Похожие ответы