我正在尝试sealed
在我的程序中建立一个公共课程,
问题是,......因为我还是新鲜的尚未开发人员,我觉得这个问题有点困难......C# .net
对于 Question 中的问题,您可以直接跳到 Program example,或阅读以下背景:
DB_Schema 是namespace
我创建的一个助手,用于处理数据访问
(它拥有tables
And SP
s 的名字 ..etc')
它的一个类(下面)处理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#arpers
-更新
我想避免长行并为代表存储过程名称的字符串制作自定义短名称
代替
ParListEmployeeUsrs.SP_Params.Add(new SqlParameter(HTSPs.RobTC_CPA_Users_Names_JobPosition.IsFreelance, SelectedDepartmentID));
更新 2
对于寻求答案的这个主题的未来来者
正如我们一位亲爱的朋友所建议的,在 StackOverflow 中
如果你必须为你的类做一个简短的命名,在将它们用于当前 peoject 时:
把它放在你项目的using
s中
using system...
using restOf.net
//just add your own as follows !
using shortClassName = myHelperNameSpace.MyIncrediblyUnnecessaryLongHelperClassName;