Создать класс для работы сo строками

Создать класс MyStr для работы со строками.

Разработать следующие элементы класса:
Поля:
– StringBuilder Line;
– int n.
Конструктор, позволяющий создать строку из n символов.
Методы, позволяющие:
– подсчитать количество пробелов в строке;
– заменить в строке все прописные символы на строчные;
– удалить из строки все знаки препинания.
Свойства:
– возвращающее общее количество элементов в строке (доступное только для чтения);
– позволяющее установить значение поля, в соответствии с введенным значением строки с клавиатуры, а также получить значение данного поля (доступно для чтения и записи)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace space
{
    class String
    {
        public String(int len)
        {
            length = len;
            str = new StringBuilder(length);
        }
        public String(string s, int len)
        {
            length = len;
            str = new StringBuilder(s.Substring(0, length));
        }
        public int CountSpaces()
        {
            return str.ToString().Count(x => x == ' ');
        }
        public void RemovePuncts()
        {
            string s = str.ToString();
            str.Clear();
            str.Append(Regex.Replace(s, "[,.:?!]", " "));
            length = str.Length;
        }
        public int Length
        {
            get { return length; }
        }
        public override string ToString()
        {
            return str.ToString();
        }
        private StringBuilder str;
        private int length;
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace MyClass
{
    class Test
    {
        static void Main1(string[] args)
        {
            String s = new String("hello, and? what: is it" );
            Console.WriteLine("Our string: {0} Length: {1}", s, s.Length);
            Console.WriteLine("Count of spaces: {0}", s.CountSpaces());
            s.RemovePuncts();
            Console.WriteLine("Without puncts: {0} Length: {1}", s, s.Length);
        }
    }
}

2-й класс, выдает ошибку

"string" не содержит определения "CountSpaces", и не удалось найти доступный метод расширения "CountSpaces", принимающий тип "string" в качестве 1го аргумента "string" не содержит определения "RemovePuncts", и не удалось найти доступный метод расширения "RemovePuncts", принимающий тип "string" в качестве 1го аргумента


Ответы (0 шт):