Допустим, у меня есть метод, как это:Понимание Статический класс и статический метод
public class MyDataAccess
{
public static StudentDataTable GetStudentRecords(int schoolID)
{
var ta = new StudentTableAdapter();
using (ta.Connection = new SqlConnection(GetCS()))
{
var result = ta.GetStudentRecords(schoolID);
return result;
}
}
}
Если этот метод доступен в 1000 раз за один раз, с помощью консольного приложения или любые другие средства, будет ли какой-либо вероятность того, что он вернет записи для ученика одной школы в другую школу?
например.
var records1 = GetStudentRecords(1);
.....
var records1000 = GetStudentRecords(1000);
Есть ли шанс из records1
переменных получать записей schoolID = 1
смешанных с записями из records1000
, даже если они приходят звонки от своих собственных потоков?
Также, что произойдет, если я изменю этот класс на статику?
Мое понимание в этом пункте
1) Да, я понимаю, что такое класс
2) Да, я знаю, что статические классы не нужны необходимые экземпляры, которые будут использоваться
3) Я знаю, что должен быть простой статический код, например, преобразование типов данных.
Но что я запутался с это:
Что происходит, когда есть один статический класс и есть миллион объектов, пытающиеся получить доступ к тем же целям в СТОГЕ
особенно когда это dataAccess
класс или класс, который обращается к объектам activeDirectory
.
У меня был чат в комнате для программистов SE. Они не сказали это явно, но у меня сложилось впечатление, что никогда не используйте статические классы для запросов, например. sql, active directory и т. д. И эти статические классы должны быть ограничены простым статическим кодом - без запроса.
Попробуй и узнать ... – TheLethalCoder
не ответ на ваш вопрос, но это не выглядит хорошим кандидатом для статического мне. Вы можете прочитать это: http://stackoverflow.com/questions/241339/when-to-use-static-classes-in-c-sharp?rq=1 – Paddy
Нет, все в порядке. 'что произойдет, если я тоже изменю этот класс на статику'. Ничего, в рамках вашего вопроса. – Jonesopolis