问题列表 - 第19019页

设计建议 - 何时有效使用"虚拟"和"密封"

我正在写一个C#网络库(主要是作为一个学习练习,如果有人真的最终使用它,那对我来说并不重要,因为我确信解决方案已经存在).

到目前为止,我对我的结构非常满意......我有几层客户端/服务器可用,可以通过套接字以原始字节进行通信,或者通过序列化消息对象稍微复杂一些.

我遇到的问题(问题?)是的时候正是我要声明的方法,属性或事件sealed,virtual或没有限定符.

我知道所有这些都做了什么 - sealed阻止了类的继承,或者进一步覆盖了一个方法.virtual将通过方法覆盖允许多态行为.

但是,由于我正在设计一个类库,所以我不确定何时使用它们.这是一个可扩展性的问题,我认为......我提供了一些接口,一个或两个抽象类,以及我的库的消费者使用或扩展的一些具体实现,但是我很难确定何时它是一个"好主意"明确禁止派生类或允许覆盖功能.

在设计我的类以供其他人使用时,请记住哪些一般指示或建议?

这个问题这一个是有些帮助的,因为是这一个,但因为我在写一个分配库我试图覆盖所有的我的基地.

c# inheritance

31
推荐指数
4
解决办法
7967
查看次数

PHP PREG正则表达式:使用UTF-8修饰符时"\ W"是什么意思?

我知道在正常的php正则表达式(ASCII模式)中,"\ w"(单词)表示"字母,数字和_".但是当你使用带有"u"修饰符的多字节正则表达式时,它意味着什么?

preg_replace('/\W/u', '', $string);
Run Code Online (Sandbox Code Playgroud)

php regex pcre utf-8

3
推荐指数
1
解决办法
9318
查看次数

REST和CSRF(跨站点请求伪造)

跨站点请求伪造是否可以对抗无状态RESTful服务?

我不是在谈论伪REST,服务器会记住你是通过cookie登录的.我说的是没有cookie的纯无应用程序状态的服务器REST.

我正在使用SSL和基本身份验证.对于每个请求,该Authorization标头必须在那里.尽管在SSL级别存在某种会话,但JSP意义上没有"会话".

因此,我们假设我正在查看发出Ajax请求的合法网页,并且我会以某种方式转到同一选项卡或不同选项卡中的不同页面,并且该页面发出相同的Ajax请求.(我假设合法网页上没有恶意代码;这完全是另一回事,在这种情况下一切皆有可能.)

当第二个页面发出Ajax请求时,浏览器是否会放置相同的Authorization标头?也就是说,浏览器会说"哦,你想再去那里?嘿,我碰巧还有钥匙!"?

此外,恶意脚本无法执行xhr请求,然后在回调中从ioargs获取请求,获取Authorization标头并取消Base64的名称和密码?

security rest csrf

14
推荐指数
1
解决办法
6636
查看次数

如何在iBatis中实现大于或等于的SQL语句?

让我们说在我的sql语句中我想做:

WHERE numberOfCookies >= 10 
Run Code Online (Sandbox Code Playgroud)

我如何在iBatis中执行此操作?

sql ibatis

19
推荐指数
2
解决办法
4万
查看次数

DDD元素:c#中的聚合

在分析域对象的生命周期时,聚合是对象分组的基本元素.我在C#中实现aggregetes时遇到问题.

一个简短的例子,有几个类,会非常有帮助.或者这个主题的任何链接.

c# domain-driven-design aggregate

2
推荐指数
1
解决办法
3233
查看次数

套接字模块在我的Python中不起作用

非常简单.

>>> import socket
>>> socket.gethostbyname('http://yahoo.com')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
socket.gaierror: [Errno -2] Name or service not known
Run Code Online (Sandbox Code Playgroud)

python sockets http

0
推荐指数
1
解决办法
1153
查看次数

Java中的可变大小数组初始化

我在Java中有一个整数数组,初始化如下:

public int MyNumbers[] = {0,0,0,0};
Run Code Online (Sandbox Code Playgroud)

但是,我想将数组初始化为可变长度的零.

private int number_of_elements = 4;
public int MyNumbers[] = {0} * number_of_elements; // ????
Run Code Online (Sandbox Code Playgroud)

我不知道怎么做这个来自C的Java新手.有什么建议吗?

编辑

我知道我可以使用for循环,但我希望有一个简单的方法来做到这一点.

java arrays initialization

15
推荐指数
3
解决办法
4万
查看次数

jquery img选择

我有一个带有img的h4就像这样.我将点击功能绑定到h4.这很好用.但是我无法在其中选择img.我想选择img以便用.attr("src")重放src attr.replace("up","down"); .

<h4 class="collapsable_head">
<img id="up_down" class="icon" src="/crm/img/modifier_down.gif" alt="link"/>
<b>Classification Filter:</b>
</h4>
Run Code Online (Sandbox Code Playgroud)

javascript:

$(".collapsable_head").click(function(){
   $(this).next(".collapsable_body").slideToggle(500)
   //None of the next lines return me the img object
   src = jQuery(this).children('img').attr("src");
   print(src);
   src = $(this).next("#up_down").attr("src");
   print(src);
   src = $(this).next("#up_down").attr("src");
   print(src);
   return false;
});
Run Code Online (Sandbox Code Playgroud)

我想使用关键字"this",因为我有更多(".collapsable_head")在那里;-)

jquery jquery-selectors

3
推荐指数
2
解决办法
3万
查看次数

c# - 如何使用接口和/或抽象类正确地执行MULTIPLE"mixins"

我希望能够定义一些对象并将一些"行为"附加到该对象,其中实现不在对象中.Rails-like:acts_as_taggable.作为一个具体的例子,我想说任务可以标记.我不想在任务中编写任何代码,除了通过......界面"启用"行为之外?这就是我的问题.您不能将实现放在接口中.我不想用所有可能的实现污染我的BaseObject [abstract?]类.

对象:任务,注意

行为:Taggable,Emailable,Printable,Deferrable(

任务可以被标记,通过电子邮件发送,打印和推迟.注释可以被标记,通过电子邮件发送,打印,但不能延期.

baseobject

public class BaseObject
{
    Guid ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

tag.cs

public class Tag : BaseObject
{
    public Guid Id { get; set; }
    public String Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

itaggable.cs

public interface ITaggable 
{
    void AddTag(Tag tag);
    ... other Tag methods ... 
}
Run Code Online (Sandbox Code Playgroud)

task.cs

public class Task : BaseObject, ITaggable, IEmailable, IPrintable
{
    Task specified functionality... nothing about "taggging"
}
Run Code Online (Sandbox Code Playgroud)

note.cs

...

TagCollection.cs

public class TagCollection …
Run Code Online (Sandbox Code Playgroud)

c# abstract-class interface c#-3.0

5
推荐指数
1
解决办法
353
查看次数

检查SharePoint站点是否存在

这是我的代码,用于检查SharePoint站点是否存在.

string URL = Console.ReadLine();
using (SPSite objSite = new SPSite(URL))
{
    using (SPWeb objWeb = objSite.OpenWeb())
    {
      Console.WriteLine(string.Format("Site Exists: {0}", objWeb.Exists.ToString()));
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,它似乎不起作用.即使站点/子站点不存在,"Exists"属性也始终返回true.当URL为" http:// intranet "或" http:// intranet/sitedoesnotexists " 时,我得到相同的结果.

我是以正确的方式使用它吗?

谢谢

编辑

抱歉格式化,我确信我应用了它,但我想我忘记了.

c# sharepoint sharepoint-2007

2
推荐指数
1
解决办法
2万
查看次数