Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444

Вереница из ошибок)

26.09.2015, 12:42. Показов 3545. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь вызвать метод с аргументами в новом потоке, и что вот этому компилятору еще нужно не понятно,
Изначальная ошибка:
Bash
1
Ошибка    1   Нет перегруженного метода для "SendMail", который соответствует делегату "System.Threading.ThreadStart"   C:\Users\Cdelphi\Documents\Visual Studio 2013\Projects\TestService\TestService\Service1.cs  31  46  TestService
Добавляю скобки
C#
1
Thread reportThread = new Thread(new ThreadStart(reportSend.SendMail));
Bash
1
Ошибка    1   Ни одна из перегрузок метода "SendMail" не принимает "0" аргументов    C:\Users\Cdelphi\Documents\Visual Studio 2013\Projects\TestService\TestService\Service1.cs  31  62  TestService
Добавляю аргументы sender,e
C#
1
Thread reportThread = new Thread(new ThreadStart(reportSend.SendMail(sender,e)));
Bash
1
2
Ошибка    1   Элемент "sender" не существует в текущем контексте. C:\Users\Cdelphi\Documents\Visual Studio 2013\Projects\TestService\TestService\Service1.cs  31  82  TestService
Ошибка    2   Элемент "e" не существует в текущем контексте.  C:\Users\Cdelphi\Documents\Visual Studio 2013\Projects\TestService\TestService\Service1.cs  31  89  TestService
Кликните здесь для просмотра всего текста
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Mail;
 
namespace TestService
{
    public partial class Service1 : ServiceBase
    {
 
        reportSend report;
        public Service1()
        {
            InitializeComponent();
            this.CanStop = true;
            this.CanPauseAndContinue = true;
            this.AutoLog = true;
        }
 
        protected override void OnStart(string[] args)
        {
            
            report = new reportSend();
            Thread reportThread = new Thread(new ThreadStart(reportSend.SendMail(sender,e)));
            reportThread.Start();
        }
 
        protected override void OnStop()
        {
        }
 
 
    }
 
 
    class reportSend
    {
 
        public static void SendMail(object sender, EventArgs e)
        {
            //smtp сервер
            string smtpHost = "smtp.server.net";
            //smtp порт
            int smtpPort = 25;
            //логин
            string login = "login";
            //пароль
            string pass = "pass";
 
            //создаем подключение
            SmtpClient client = new SmtpClient(smtpHost, smtpPort);
            client.Credentials = new NetworkCredential(login, pass);
 
            //От кого письмо
            string from = "from@server.net";
            //Кому письмо
            string to = "to@server.net";
            //Тема письма
            string subject = "Письмо от C Sharp";
            //Текст письма
            string body = "Привет! \n\n\n Это тестовое письмо от C Sharp";
 
            //Создаем сообщение
            MailMessage mess = new MailMessage(from, to, subject, body);
 
            try
            {
                client.Send(mess);
                Console.WriteLine("Message send");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
            }
        }
        
 
 
        
 
 
     public void EventLog()
     {
 
         String myEventType = null;
         // Associate the instance of 'EventLog' with local System Log.
         EventLog myEventLog = new EventLog("System", ".");
         Console.WriteLine("1:Error");
         Console.WriteLine("2:Information");
         Console.WriteLine("3:Warning");
         Console.WriteLine("Select the Event Type");
         int myOption = Convert.ToInt32(Console.ReadLine());
         switch (myOption)
         {
             case 1: myEventType = "Error";
                 break;
             case 2: myEventType = "Information";
                 break;
             case 3: myEventType = "Warning";
                 break;
             default: break;
         }
 
         EventLogEntryCollection myLogEntryCollection = myEventLog.Entries;
         int myCount = myLogEntryCollection.Count;
         // Iterate through all 'EventLogEntry' instances in 'EventLog'.
         for (int i = myCount - 1; i > 0; i--)
         {
             EventLogEntry myLogEntry = myLogEntryCollection[i];
             // Select the entry having desired EventType.
             if (myLogEntry.EntryType.ToString().Equals(myEventType))
             {
                 // Display Source of the event.
                 Console.WriteLine(myLogEntry.Source
                    + " was the source of last event of type "
                    + myLogEntry.EntryType);
                 return;
             }
         }
 
 
 
     }
 
        
        
      
    }
 
 
 
 
 
 
}

Что за вереница ошибок?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.09.2015, 12:42
Ответы с готовыми решениями:

Влияние ошибок при передаче по интерфейсу на вероятность возникновения ошибок C4, C5 и 05
Приветствую ! Интересует такой вопрос: Может ли в теории наличие неисправностей характеризующихся параметром SMART 199 Ultra DMA...

Прочтение ошибок, расшифровка ошибок на холодильниках
Привет коллеги. достаточно часто читаю вопросы по ошибкам на холодильниках... типа подскажите что означает такая ошибка.. вынужден...

Глобальный обработчик ошибок. Если отключить обработчик ошибок в одной из процедур, будет ли он работать в других?
Есть какой то код Sub main On error goto ErrorLine 'тут какой-то код call fng_1 'тут вызывается новая процедура 'тут какой-то...

43
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
28.09.2015, 13:48
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от Cdelphi78 Посмотреть сообщение
что такое evilfromhell?
:)
EvilFromHell,
кстати да, что это за оператор?



Цитата Сообщение от Cdelphi78 Посмотреть сообщение
ответьте на вопрос как
Большинство вопросов подобного рода никогда бы не задавались, если бы программист, приступая к написанию программы на объектно-ориентированном языке, предварительно разобрался с основами этого самого объектно-ориентированного программирования.
По поводу ошибок. Посмотрите внимательно на код, который я набросал, и на свой код. Найдите два отличия (в создании объекта report и в объявлении метода SendMail), которые и вызвали 2 ошибки.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
28.09.2015, 14:21  [ТС]
Я не программист, я бы не спрашивал если бы методы вызывались нормально, а так происходит то что я написал в начале темы: не принимает аргументов,не содержит определение и тд и тп, даже если убрать потоки тоже самое, к тому же это не основы, разве на основах проходят аргументы? службы Windows? Системное программирование)
Вроде нашел ошибки, следующие:
Bash
1
2
3
Сообщение  1   Показать конструктор для этого файла невозможно, так как невозможно сконструировать  ни один из входящих в него классов.       0   0   
Сообщение  2   Показать конструктор для этого файла невозможно, так как невозможно сконструировать  ни один из входящих в него классов.       0   0   
Ошибка    3   Доступ к члену "TestService.reportSend.SendMail()" через ссылку на экземпляр невозможен; вместо этого уточните его, указав имя типа  C:\Users\Cdelphi\Documents\Visual Studio 2013\Projects\TestService\TestService\Service1.cs  32  46  TestService
Кликните здесь для просмотра всего текста
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Mail;
 
namespace TestService
{
    public partial class Service1 : ServiceBase
    {
 
        reportSend report;
        public Service1()
        {
            InitializeComponent();
            this.CanStop = true;
            this.CanPauseAndContinue = true;
            this.AutoLog = true;
        }
 
        protected override void OnStart(string[] args)
        {
            object sender = null; //значения параметров нужно инициализировать
            EventArgs e = null; //чтобы использовать в методе SendMail
            reportSend report = new reportSend(sender, e);
            Thread reportThread = new Thread(new ThreadStart(report.SendMail));
            reportThread.Start();
            
        }
 
        protected override void OnStop()
        {
        }
 
 
    }
 
 
    class reportSend
    {
        object sender;
        EventArgs e;
        public reportSend(object sender, EventArgs e)
        {
            this.sender = sender;
            this.e = e;
        }
        public static void SendMail()
        {
            //smtp сервер
            string smtpHost = "smtp.server.net";
            //smtp порт
            int smtpPort = 25;
            //логин
            string login = "login";
            //пароль
            string pass = "pass";
 
            //создаем подключение
            SmtpClient client = new SmtpClient(smtpHost, smtpPort);
            client.Credentials = new NetworkCredential(login, pass);
 
            //От кого письмо
            string from = "from@server.net";
            //Кому письмо
            string to = "to@server.net";
            //Тема письма
            string subject = "Письмо от C Sharp";
            //Текст письма
            string body = "Привет! \n\n\n Это тестовое письмо от C Sharp";
 
            //Создаем сообщение
            MailMessage mess = new MailMessage(from, to, subject, body);
 
            try
            {
                client.Send(mess);
                Console.WriteLine("Message send");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
            }
        }
        
 
 
        
 
 
     public void EventLog()
     {
 
         String myEventType = null;
         // Associate the instance of 'EventLog' with local System Log.
         EventLog myEventLog = new EventLog("System", ".");
         Console.WriteLine("1:Error");
         Console.WriteLine("2:Information");
         Console.WriteLine("3:Warning");
         Console.WriteLine("Select the Event Type");
         int myOption = Convert.ToInt32(Console.ReadLine());
         switch (myOption)
         {
             case 1: myEventType = "Error";
                 break;
             case 2: myEventType = "Information";
                 break;
             case 3: myEventType = "Warning";
                 break;
             default: break;
         }
 
         EventLogEntryCollection myLogEntryCollection = myEventLog.Entries;
         int myCount = myLogEntryCollection.Count;
         // Iterate through all 'EventLogEntry' instances in 'EventLog'.
         for (int i = myCount - 1; i > 0; i--)
         {
             EventLogEntry myLogEntry = myLogEntryCollection[i];
             // Select the entry having desired EventType.
             if (myLogEntry.EntryType.ToString().Equals(myEventType))
             {
                 // Display Source of the event.
                 Console.WriteLine(myLogEntry.Source
                    + " was the source of last event of type "
                    + myLogEntry.EntryType);
                 return;
             }
         }
 
 
 
     }
 
        
        
      
    }
 
 
 
 
 
 
}
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
28.09.2015, 14:36
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
разве на основах проходят аргументы? службы Windows? Системное программирование)
Службы и СП точно к основам ООП не относятся, а вот аргументы - это основные основы. А вопрос касался именно аргументов.
И, кстати, из 54-й строки уберите слово static.
0
11 / 11 / 12
Регистрация: 18.09.2015
Сообщений: 39
28.09.2015, 14:58
Cdelphi78, посмотри моё решение на первой странице, так можно передать параметры и вызвать нужный метод в созданном классе в новом потоке. а то что вы тут городите с
Thread reportThread = new Thread(new ThreadStart(report.SendMail));
очень печально

Добавлено через 8 минут
можно конечно ещё дальше пойти и сделать так:
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
static void OnStart(string[] args)
        {
            Thread reportThread = new Thread(() => reportSend.SendMail("asdasdasd", 25));
            reportThread.Start();
            Thread reportThread2 = new Thread(() => reportSend.SendMail("ertrvrvrtvr", 40));
            reportThread2.Start();
            Console.ReadLine();
        }
}
 
static class reportSend
    {
        //public string ParamsTest;
 
        public static void SendMail(String smtpHost, int smtpPort)
        {
            Console.WriteLine("Значение smtpHost = " + smtpHost + " smtpPort = " + smtpPort);
            //smtp сервер
            //string smtpHost = "smtp.server.net";
            //smtp порт
            //int smtpPort = 25;
            //логин
            string login = "login";
            //пароль
            string pass = "pass";
            //и т.д.
}}
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
28.09.2015, 14:58  [ТС]
Ну я вот пока не добрался до них, а то что читаю пока не врубился еще.
Убрал, Остался показать конструктор, для этого файла невозможно.
0
11 / 11 / 12
Регистрация: 18.09.2015
Сообщений: 39
28.09.2015, 15:02
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Сообщение 1 Показать конструктор для этого файла невозможно
Точно не уверен, но на сообщения можно забивать - это же не ошибка.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
28.09.2015, 15:05  [ТС]
короче у меня голова уже пухнет от этих аргументов, вечером продолжу
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
28.09.2015, 15:11
Цитата Сообщение от Futu Посмотреть сообщение
что вы тут городите с
Thread reportThread = new Thread(new ThreadStart(report.SendMail));
очень печально
Это не ошибка, это издержки копипаста. Можно чуть исправить:
C#
1
Thread reportThread = new Thread(report.SendMail);
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
28.09.2015, 17:02

Не по теме:

Цитата Сообщение от Даценд Посмотреть сообщение
EvilFromHell,
кстати да, что это за оператор?
Это чтобы компилятор испугался и не высказывал свое недовольство ошибками:D


А если серьезно, то ТСу действительно явно стоит сначала хоть немножко погуглить. Даже не поймешь за что зацепиться, чтобы что-то объяснить: что ни напиши-все равно будет непонятно при вашем текущем понимании темы. Это самые-самые основы, основнее некуда.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
29.09.2015, 10:14  [ТС]
Дайте ссылку на статью, ничего путного не нашел
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
29.09.2015, 11:06
Инфы по основам везде море, а особенно на этом форуме и на MSDNе
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
29.09.2015, 11:18  [ТС]
Да я это и сам нашел, по sender, e есть что нибуть?

Добавлено через 3 минуты
Дело в том что есть тема на форуме, и статья msdn (на англ) из которых мало чего поймешь.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
29.09.2015, 11:21
Это стандартные аргументы событий. sender-это объект, в котором произошло событие, е- объект какого-либо наследника класса EventArgs с дополнительными аргументами, касающимися события и которые могут понадобиться в обработчике. К примеру, когда происходит событие нажатия клавиши-из свойств этого объекта можно узнать, какая клавиша была нажата. Вообще прочитайте про события на MSDN-сразу все станет ясно.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
29.09.2015, 11:29  [ТС]
Цитата Сообщение от EvilFromHell Посмотреть сообщение
Это стандартные аргументы событий. sender-это объект, в котором произошло событие, е- объект какого-либо наследника класса EventArgs с дополнительными аргументами, касающимися события и которые могут понадобиться в обработчике. К примеру, когда происходит событие нажатия клавиши-из свойств этого объекта можно узнать, какая клавиша была нажата.
Не врубился.

Добавлено через 3 минуты
Событие это же метод? или нет? чем событие отличается от метода?
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
29.09.2015, 11:49
Событие-это по сути ссылка на какое-то количество методов(обработчиков), соответствующих определенной сигнатуре(делегату). К этой ссылке можно добавить методы(через+=) откуда-то извне класса, в котором она объявлена и вызывается, и все они будут выполняться. Вот нормальная статья.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
29.09.2015, 11:55  [ТС]
Все равно не понятно, как это поможет, что нужно вызвать метод с этими аргументами в методе Onstart? Спасибо за статью почитаю.
0
 Аватар для Pro100Tom
154 / 31 / 11
Регистрация: 29.10.2012
Сообщений: 397
29.09.2015, 12:10
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Я не программист
Попробую вам объяснить некоторые из основ, для начала, мне кажется вы слегка путаетесь в языке.

1).
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Нет перегруженного метода для "SendMail", который соответствует делегату
Извините за то, что слишком примитивно объясню. В С# можно создавать функции (кеп) и пользоваться ими, также как бы это делаем в реальной жизни. Давайте рассмотрим вариант использования функции. Например, ребёнок хочет кушать и говорит: "Мама, свари суп!". В Программировании это было выглядело так
C#
1
Mum.CookSoup();
, где Mum это класс, а CookSoup - функция (я иногда называю функции методами еще). Ребёнок уходит в комнату, возвразается на кухню и бац суп готов (функция вернула значение, которое мы запишем в var:
C#
1
var soup = Mum.CookSoup();
) Но как там готовился суп, ребёнок не знает, он просто попросил и через какое-то время увидел результат, но процесс-то какой-то всё-таки проходил. Так вот, чтобы использовать функцию, её нужно создать (один раз). Создаются функции внутри классов (интерфейсы не трогаем пока).
C#
1
2
3
4
5
6
7
class Mum()
{
    public Food CookSoup()
    {
        // процесс готовки супа
    }
}
Но в таком случае, суп всегда будет готовиться один и тот же, например - щи. Каждый раз, когда ребёнок просит у мамы суп, она всегда ему готовит щи. Надоедает, хочется борщ. Было бы здорово сказать, что хочешь именно борз
C#
1
Mum.CoopSoup(borsh);
, то есть указать аргумент. Для того чтобы иметь возможность указать аргументы, нужно создать функцию, которая принимает это аргументы (как уже говорил, создаётся один раз), как-то так:
C#
1
2
3
4
5
6
7
8
9
10
class Mum()
{
    public Food CookSoup(SoupType type)
    {
        if(type == borsh)
        {
            // готовим именно борщ
        }   
    }
}
В таком случае, вы обязаны сказать, какой именно суп хотите. Вы не можете теперь сделать так
C#
1
Mum.CookSoup()
, в скобочках должен быть параметр типа супа. К чему это я всё? У вас есть функция SendEmail(), которая просит какую-то ненужную хрень в качестве параметра. На примере супа - то выглядит так:
-мам, свари суп.
-ок, принеси мне вентилятор и туалетную бумагу.
Вам тут кстати писали "нафига вентилятор для супа?". Как бы я решил эту проблему? Вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Mum()
{
    public Food CookSoup(SoupType type = borsh)
    {
        if(type == borsh)
        {
            // готовим борщ
        }   
                else
                {
                        // готовим щи или что там ребёнок попросил
                }
    }
}
Обратите внимание на кусок
C#
1
SoupType type = borsh
. Это позволяет вызывать функцию как Mum.CookSoup(щи), и она сварит щи, так и Mum.CookSOup(), она сварит борщ.
Теперь вопрос, какие именно параметры вы хотите передать в функцию SendEmail ? Массив, список, просто один параметр?

Теперь по поводу стандартов. Названия классов принято писать с заглавной буквы, а их экземпляры с маленькой. То есть ваш класс repordSend смотрелся бы гораздо лучше, если бы выглядел - ReportSend.

Еще вопрос, знаете ли вы разницу между статическим и нестатическим классом?
Знаете ли вы, что такое конструктор и для чего он нужен?

Добавлено через 2 минуты
Я это всё пишу, чтобы объяснить вам, почему возникает ошибка "Нет перегруженного метода для "SendMail", который соответствует делегату", о которой вы писали.

Добавлено через 6 минут
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Событие это же метод? или нет? чем событие отличается от метода?
Простым языком - разницы нет, но зависит от того, кто тут главный герой. Если вы - ребёнок, и просите маму сварить суп, то это метод (вы инициатор). И когда суп сварился, он пахнет, вы знаете, что он готов - это событие: мама, запах дали тебе понять, что суп готов, и ребёнок уже тогда решает, идти ли кушать или он уже передумал.
В коде это так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Mum()
{
    public Food CookSoup(SoupType type = borsh)
    {
        if(type == borsh)
        {
            // готовим именно борщ
        }   
 
        SoupIsDone();
    }
}
 
class Kid()
{
    OnSoupDone()
    {
        // ура, буду кушать
    }
}
Когда код пройдёт функцию SoupIsDone() (внутри класса Mum), то он сразу прыгнет в OnSoupDone() у ребенка (не всё так тривиально, код не сработает на самом деле, нужно дописать пару плюшек), но суть понятна. - То это вот и есть событие.

Добавлено через 5 минут
Сейчас на работе, постараюсь вечером вам готовый пример отослать. И постараюсь рассказать про потоки.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
29.09.2015, 12:20
Событие-это скорее когда мама сварила суп и крикнула "СУП ГОТОВ!". А уж пойдет ли кто-то его есть и сколько человек это будет-зависит от того, кто подписался на событие Маму это уже не волнует-она свое дело сделала и сообщила об этом.
0
 Аватар для Cdelphi78
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,444
29.09.2015, 12:30  [ТС]
Цитата Сообщение от Pro100Tom Посмотреть сообщение
, где Mum это класс, а CookSoup - функция
Но мама же это обьект, а класс это сообщество мам
Цитата Сообщение от Pro100Tom Посмотреть сообщение
интерфейсы не трогаем пока)
Интерфейсы??
Цитата Сообщение от Pro100Tom Посмотреть сообщение
Но в таком случае, суп всегда будет готовиться один и тот же,
Почему?

Цитата Сообщение от Pro100Tom Посмотреть сообщение
, в скобочках должен быть параметр типа супа. К чему это я всё? У вас есть функция SendEmail(), которая просит какую-то ненужную хрень в качестве параметра.
Я подсовывал этой функции аргументы, но они недоступны MVS их не видит.

Цитата Сообщение от Pro100Tom Посмотреть сообщение
Еще вопрос, знаете ли вы разницу между статическим и нестатическим классом?
Читал слышал но не понял, нестатические метод вроде недоступен
Цитата Сообщение от Pro100Tom Посмотреть сообщение
Знаете ли вы, что такое конструктор и для чего он нужен?
Конструктор обьявляет свойства класса или обьекта вроде так.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
29.09.2015, 12:59
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Но мама же это обьект, а класс это сообщество мам
Класс-это не сообщество мам, класс-это мама вообще, а какая-то конкретная мама-это объект этого класса.
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Я подсовывал этой функции аргументы, но они недоступны MVS их не видит.
Если у вас метод принимает название супа, а вы ему подсовываете ссылку на ребенка или еще что-то неподходящее, естественно будет ошибка.
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Читал слышал но не понял, нестатические метод вроде недоступен
Статический-это метод класса, он не привязан к состоянию какого-либо объекта. Пример:
C#
1
2
3
            string s="EvilFromHell"; //создаем объект класса "String"
            string s2= s.Substring(1); //вызываем нестатический метод
            bool b = String.IsNullOrEmpty(s); //вызываем статический метод
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
Конструктор обьявляет свойства класса или обьекта вроде так.
Конструктор определяет, как именно должен создаваться объект класса и какие данные нужны для его создания.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2015, 12:59

Коды ошибок аэрогриль POLARIS pag 1205d, У кого есть коды ошибок на аэрогриль POLARIS
аэрогриль POLARIS pag 1205d ошибка e1 че значит?

Коды ошибок, Коды ошибок для пользователей (не для мастеров)
ОшибкаПричинаE10проблемы подачи воды. Проверьте не закрыт ли кран, не забита ли сеточка, достаточно ли давление, не подключен ли сливной...

15 ошибок
Нужно найти 15 ошибок на фото

Обработка ошибок
Здравствуйте! У меня такой вопрос. Как отменить выполнение программного кода, при возникновении какой- либо ошибки? Есть еще способы кроме...

Подсчет ошибок
Добрый вечер добрые люди, помогите пожалуйста подсчитать: у меня в столик есть 6 значений нужно найти: 1. Среднюю ошибку. С ней я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Генератор паролей
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе. Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I Обработка содержит реквизиты: -. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru