Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему не работает конструктор класса ?
|
|||
|---|---|---|---|
|
#18+
Есть простенький класс автор public class ELog { static StreamWriter file ; static ELog() { string path = @"C:\ELog.log"; FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite); StreamWriter file = new StreamWriter(path,true); file.AutoFlush = true ; } public void OutString( string _str ) { file.WriteLine( @"log: " + DateTime.Now.ToShortDateString()); file.WriteLine( _str ); file.Close(); } } При выполнении вылетает ошибка : Object reference not set to an instance of an object Оно и понятно т.к в отладчике мы ни разу в конструктор не попали :(( заменяем на автор public class ELog { static StreamWriter file = new StreamWriter(@"C:\ELog.log",true); static ELog() { } public void OutString( string _str ) { file.WriteLine( @"log: " + DateTime.Now.ToShortDateString()); file.WriteLine( _str ); file.Close(); } } и все отлично работает. Из-за чего это происходит, руки крывые или что ? в основном классе прописано public class Service1 : System.EnterpriseServices.ServicedComponent { public static ELog Log = new ELog(); ........ public class ELog // : System.IO // .TextWriter { ....... } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:01 |
|
||
|
Почему не работает конструктор класса ?
|
|||
|---|---|---|---|
|
#18+
А зачем вы конструктор static сделали, а экземпляр объекта ELog создаете ? Сделайте конструктор public ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:25 |
|
||
|
Почему не работает конструктор класса ?
|
|||
|---|---|---|---|
|
#18+
При замене private class ELog { static StreamWriter fl = new StreamWriter(@"C:\ELog_Client.log",true); static ELog() .... на private class ELog { static StreamWriter fl ; public ELog() ... при компиляции выдается ошибка ClientV7\Form1.cs(295): Field 'ClientV7.Form1.ELog.fl' is never assigned to, and will always have its default value null и при выполнении вылетает ошибка с Object reference Переменная инициализируется в InitializeComponent() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:38 |
|
||
|
Почему не работает конструктор класса ?
|
|||
|---|---|---|---|
|
#18+
вызываю при закрытии формы: private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { Log.OutString(@" Form1_Closing "); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:48 |
|
||
|
Почему не работает конструктор класса ?
|
|||
|---|---|---|---|
|
#18+
2 vashkovich Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:48 |
|
||
|
Почему не работает конструктор класса ?
|
|||
|---|---|---|---|
|
#18+
vashkovichПри замене private class ELog { static StreamWriter fl = new StreamWriter(@"C:\ELog_Client.log",true); static ELog() .... на private class ELog { static StreamWriter fl ; public ELog() ... при компиляции выдается ошибка ClientV7\Form1.cs(295): Field 'ClientV7.Form1.ELog.fl' is never assigned to, and will always have its default value null и при выполнении вылетает ошибка с Object reference Переменная инициализируется в InitializeComponent() Правильно. Вы же написали static StreamWriter fl ; и потом нигде ее не поинициализировали Напишите так Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:53 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32789942&tid=1437860]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 415ms |

| 0 / 0 |
