powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите разбить проект на несколько cs
10 сообщений из 10, страница 1 из 1
Помогите разбить проект на несколько cs
    #39425975
f50
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, помогите вынести myFunct и tbAppendText в другой файл. Смотрю Частичные классы (partial classes), но как говорится смотрю в книгу вижу фигу (((

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //это вынести в другой файл cs
        string myFunct(string s)
        {
            return s + " " + s + " " + s + Environment.NewLine;
        }

        //это вынести в другой файл cs
        public void tbAppendText(TextBox tb, string text)
        {
            tb.AppendText(" * "+text + Environment.NewLine);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //потом обратится к ним так же как тут
            textBox1.AppendText(myFunct("12345"));
            tbAppendText(textBox1, "54321");
        }
    }
}
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39426000
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f50Смотрю Частичные классы (partial classes)Зачем? Смотри статические классы.
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39426195
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f50,

в любом файле
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
namespace azaza
{
public static class TextBoxExtensions
{
     public static void MyAppendText(this TextBox box, string text)
     {
           box.AppendText(" * "+text + Environment.NewLine);
     }
}
}



в любом другом файле
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
using azaza;

.....
void Foo()
{
    textBox.MyAppendText("azaza");
}
...
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39426359
f50
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris, спасибо! Вижу тут ключевое слово TextBoxExtensions, расширяющее свойства TextBox, но мне надо не только для TextBox, а просто вынести код в отдельный файл (модуль). Математические и т.п. функции (методы). Вот и получаю сообщения типа The name '***' does not exist in the current context.

Shocker.Pro, да тут всю книгу надо читать, например Джона Шарпа или Эндрю Троелсена ((( Всё сложно по началу... :)
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39426384
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, зачем читать ПДД и инструкцию по автомобилю, когда можно просто сесть и поехать.

Чем меньше будешь сейчас вникать в теорию, тем кратно больше потом потратишь времени на то, чтобы переделать свои неправильные привычки и программы, зашедшие в тупик.
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39426402
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProДействительно, зачем читать ПДД и инструкцию по автомобилю, когда можно просто сесть и поехать.
можно такси вызвать или нанять водителя.


f50да тут всю книгу надо читать
читай
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39426849
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f50Pallaris, спасибо! Вижу тут ключевое слово TextBoxExtensions, расширяющее свойства TextBox, но мне надо не только для TextBox, а просто вынести код в отдельный файл (модуль). Математические и т.п. функции (методы). Вот и получаю сообщения типа The name '***' does not exist in the current context.

Shocker.Pro, да тут всю книгу надо читать, например Джона Шарпа или Эндрю Троелсена ((( Всё сложно по началу... :)
ключевые слова тут
public static class

создайте класс с любым именем. главное, что бы было указано public static class.

например
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
namespace WindowsFormsApplication3
{
    public static class myFunction
    {
                   //это вынести в другой файл cs
        public static string myFunct(string s)
        {
            return s + " " + s + " " + s + Environment.NewLine;
        }

        //это вынести в другой файл cs
        public static void tbAppendText(TextBox tb, string text)
        {
            tb.AppendText(" * "+text + Environment.NewLine);
        }
    }
}
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39432007
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f50, вот так оно должно выглядеть:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
// в одном файле
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.AppendText(myFunct("12345"));
            tbAppendText(textBox1, "54321");
        }
    }
}

// в другом файле
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        string myFunct(string s)
        {
            return s + " " + s + " " + s + Environment.NewLine;
        }

        public void tbAppendText(TextBox tb, string text)
        {
            tb.AppendText(" * " + text + Environment.NewLine);
        }
    }
}



Не понимаю, с чем возникла заминка?
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39432013
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvik, у вас ус отклеился!

два класса с одинаковым именем?
...
Рейтинг: 0 / 0
Помогите разбить проект на несколько cs
    #39432120
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наутилусдва класса с одинаковым именем?

это один класс с одним именем
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите разбить проект на несколько cs
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]