我有几个不需要任何州的课程.从组织的角度来看,我想把它们放到层次结构中.
但似乎我无法为静态类声明继承.
像这样的东西:
public static class Base
{
}
public static class Inherited : Base
{
}
Run Code Online (Sandbox Code Playgroud)
不管用.
为什么语言的设计者会关闭这种可能性?
最近我一直在考虑保护我的一些代码.我很好奇如何确保永远不能直接创建对象,而只能通过工厂类的某种方法创建.让我们说我有一些"业务对象"类,我想确保这个类的任何实例都有一个有效的内部状态.为了实现这一点,我需要在创建对象之前执行一些检查,可能在其构造函数中.这一切都没问题,直到我决定将此检查作为业务逻辑的一部分.那么,我如何安排业务对象只能通过我的业务逻辑类中的某种方法创建,但从不直接?使用C++的旧"朋友"关键字的第一个自然愿望是C#无法实现.所以我们需要其他选择......
让我们试试一些例子:
public MyBusinessObjectClass
{
public string MyProperty { get; private set; }
public MyBusinessObjectClass (string myProperty)
{
MyProperty = myProperty;
}
}
public MyBusinessLogicClass
{
public MyBusinessObjectClass CreateBusinessObject (string myProperty)
{
// Perform some check on myProperty
if (true /* check is okay */)
return new MyBusinessObjectClass (myProperty);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都没关系,直到你记得你仍然可以直接创建MyBusinessObjectClass实例,而无需检查输入.我想完全排除这种技术可能性.
那么,社区对此有何看法?
如果有可能,我是否应该接受用户发送的此类电子邮件以及我将邮件发送到此类地址时会遇到哪些问题?
我理解这是看待这两个变量的标准做法.当然,他们很容易被欺骗.我很好奇你多久会期望这些价值观(特别是那些HTTP_X_FORWARDED_FOR
)包含真实的信息,而不仅仅是被扰乱或者剥夺了他们的价值观?
有这方面经验或统计数据的人吗?
获取客户端IP地址的任务还有什么用处吗?
如果我写这样的东西:
string s = @"...."......";
Run Code Online (Sandbox Code Playgroud)
它不起作用.
如果我试试这个:
string s = @"...\".....";
Run Code Online (Sandbox Code Playgroud)
它也不起作用.
如何在C#中为多行字符串声明添加"字符?
我绝对记得在某个地方看到一个使用反射或其他东西这样做的例子.这与SqlParameterCollection
用户无法创造的事情有关(如果我没有记错的话).不幸的是再也找不到了.
有人可以在这里分享这个技巧吗?并不是说我认为它是一种有效的开发方法,我只是对这样做的可能性非常感兴趣.
我很好奇我们许多做设计或做出设计决定的人是否听说过这个问题.
我知道有危险的颜色组合,如绿色+红色.这可能是最受欢迎的色盲病例之一.如果你在红色背景上有绿色文字,反之亦然,有些人看不到任何东西.
我在实践中也看到一个人看不到蓝色背景上的绿色文字.
应该避免哪些其他颜色成分,以及这些情况的预期频率?
让我们根据具有数字的遭遇概率进行一些测量.
另外:我刚刚记得一个非常糟糕的例子,几乎每个人都会遇到问题 - 黑色背景上的蓝色文字.所有意图和目的都无法理解.永远无法理解什么可能迫使网站管理员使用这种颜色组合......
我正在使用Aspose库来创建Excel文档.在某个单元格的某处,我需要在文本的两个部分之间插入一个新行.
我试过"\ r \n"但它不起作用,只在单元格中显示两个方形符号.但是我可以按Alt + Enter在同一个单元格中创建一个新行.
如何以编程方式插入新行?
I suppose most of the developers have an idea of multi-layer architecture. We have DAL (Data access layer), we have BLL (business logic layer) and somewhere near the end of the road we have our UI. If you have a project which somehow follows these principles, do you keep (or at least try) to keep/put the things where they conceptually belong? I'm especially interested in big company applications where you work together with many other people. Clearly you can do …
出于安全原因,是否值得在将用户电子邮件放入数据库之前对其进行加密?
我知道我们哈希和盐密码,但这是另一个故事,因为我们真的不需要密码原件.通过电子邮件,它是不同的.
知道解密密钥无论如何都要靠近数据库,加密电子邮件是否有意义?我想如果有人进入系统,他们也会找到钥匙,如果没有立即,那么最终.
什么是最佳做法?如果我运行自己的服务器而不是共享/虚拟主机,还有其他选择吗?
编辑:我打算使用SQL Server.不,它不是具有安全要求的企业软件,只是我想到的一些娱乐网站.
c# ×5
email ×2
.net ×1
architecture ×1
asp.net ×1
aspose ×1
colors ×1
constructor ×1
encryption ×1
escaping ×1
excel ×1
factory ×1
http ×1
http-headers ×1
inheritance ×1
ip ×1
ip-address ×1
non-english ×1
oop ×1
security ×1
static ×1
string ×1