я пытаюсь создать общедоступный класс sealed
в своей программе,
дело в том, что ... поскольку я еще новичок C# .net
еще не разработчик, я нахожу эту проблему немного сложной ...
Что касается проблемы в вопросе, вы можете сразу перейти к примеру программы или прочитать следующую информацию:
DB_Schema - помощник namespace
, который я создал, для работы с доступом к данным.
(он содержит имена tables
и SP
.. и т. д.)
один из его классов (ниже) имеет дело с Stored Procedures
, а этот содержит имена параметров SP
public sealed class SProc
{
public sealed class GetCPAReport
{
public const string RecordNum = "@RecordNum",
CPAColumnName = "@CPAColumn_Name",
Value = "@value",
IsFreelance = "@isFreelance";
}
}
- Использование в программе:
в методе доступа к данным через SP
private DataTable Get_RefTable_OfUsersBy(string DepartmetID)
{
SProc.GetCPAReport SProcGetCpa = SProc.GetCPAReport();
SP_Params.Add(new SqlParameter(SProcGetCpa.IsFreelance, 1));
}
попытка доступа к одному из членов экземпляра (SProcGetCpa
) невозможна, как я пытался.
я мог бы просто сделать класс SProc
+ это подкласс UpdateCPAReport
не sealed
и ...
но когда я искал вопрос "можно ли создать экземпляр запечатанного класса?
ну .. ответ Да ... хотя пытаюсь найти информацию об ошибке:
недоступен по ссылке на экземпляр; вместо этого укажите название типа
не дает ни результатов, ни примера доступа к инстанцированному sealed class
общедоступному члену, по крайней мере, не для новых арперов .net C #, таких как я
- Обновить
я хотел избежать длинных строк и сделать собственные короткие имена для строк, которые представляют имя хранимой процедуры
вместо
ParListEmployeeUsrs.SP_Params.Add(new SqlParameter(HTSPs.RobTC_CPA_Users_Names_JobPosition.IsFreelance, SelectedDepartmentID));
обновление 2
для будущих тех, кто ищет ответ на эту тему
как предложил наш дорогой друг, здесь, в StackOverflow
если вам нужно сделать короткие наименования для ваших классов, когда вы используете их для текущего проекта:
просто поместите это среди using
s вашего проекта
using system...
using restOf.net
//just add your own as follows !
using shortClassName = myHelperNameSpace.MyIncrediblyUnnecessaryLongHelperClassName;