问题列表 - 第7858页

是否可以判断派生类中是否已覆盖.NET虚方法?

提出这个问题的行为表明我对这个问题的处理是不正确的,所以我对直接解决这个问题的答案感兴趣,以及对我正在做的事情采取更清晰方法的答案.

考虑一个基类,它提供一组标准的服务和功能,以及围绕这些服务和功能的一些结构.通过比喻,让我们考虑以下示例类:

public class ExampleBase
{
  public void Main()
  {
    // Do something
    PreValidate(); // Extensibility point for derived classes
    // Do something else
    PostValidate(); // Extensibility point for derived classes
    // Do something else 
  }

  protected virtual void PreValidate()
  {
  }

  protected virtual void PostValidate()
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

派生类现在可以覆盖这些虚方法以提供一些自定义逻辑.

下面是一个问题:调用虚方法之前,基类是否有可能在运行时发现派生类是否可以自由地覆盖其中一个虚方法?

(如果调用该方法知道这个问题的答案就足够了,那么你可以用一个设置私有标志的方法替换基类中的空方法,这表明该方法没有被覆盖.但是这可能如果派生类base.PreValidate()在其重写的实现中调用,则会被欺骗.)

如果需要这种灵活性,最好的解决方案可能是使用完全不同的可扩展性机制?

.net

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

在Python中提取URL

关于:使用Python在文本中查找超链接(与twitter相关)

如何只提取网址,以便将其放入列表/数组?


编辑

让我澄清一下,我不想将URL解析成碎片.我想从字符串的文本中提取URL以将其放入数组中.谢谢!

python url parsing

35
推荐指数
6
解决办法
7万
查看次数

填写Ruby哈希的更好方法是什么?

有一个更好的方法吗?(看起来很笨重)

form_params = {}
form_params['tid'] = tid
form_params['qid'] = qid
form_params['pri'] = pri
form_params['sec'] = sec
form_params['to_u'] = to_u
form_params['to_d'] = to_d
form_params['from'] = from
form_params['wl'] = wl
Run Code Online (Sandbox Code Playgroud)

ruby hash

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

重新排列UITableView单元刷新问题

这里有一些帮助将非常感谢!

我有一个自定义的UITableView单元格,由图像(绿色,橙色或红色)和两个不同字体大小的标签组成.UITableView由NSMutableArray对象驱动.

所述的UITableView被分成三个部分,用含有所有细胞与红色图像,第二部分与所述橙色,第三部分与所述绿色的第一部分.

我已经实现了在UITableView中重新排列单元格的功能,允许用户将带有红色图像的项目从红色部分拖动到橙色部分.此拖动效果很好,并且基础数据正确更新.我知道是这种情况,因为如果我选择单元格,我会转到其详细视图并更新数据.

但是,在我转到详细信息(或退出应用程序)并返回之前,UITableView不会更新!如果我将有问题的单元格滚出视图并再次返回视图,它也会更新,因此数组显然包含正确的数据.我只是无法触发视图刷新!

我在用于更改moveRowAtIndexPath中的基础数据的代码之后尝试了以下内容:

[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud)

然而,这会导致异常.事实上,Apple语言参考说插入,删除或动画时无法调用reloadData,这当然是我正在做的事情.另外,尝试刷新单元格

[self setNeedsDisplay];
Run Code Online (Sandbox Code Playgroud)

不起作用(虽然它也不会崩溃).

关于如何刷新UITableView的任何想法?我找不到afterMoveHasBeenCompleted:方法或任何东西,所以如果我在moveRowAtIndexPath:方法期间无法调用reloadData,那么我在哪里调用它?!

iphone refresh objective-c uitableview

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

锁定nswindow的位置

是否可以锁定nswindow的位置?我不是要求setIgnoresMouseEvents.我需要阻止用户移动窗口,但他仍然可以使用nstoolbar.

thx提前--molter

cocoa nswindow

4
推荐指数
1
解决办法
2509
查看次数

高效的编码帮助

我目前正在用C++编写代码来查找6个整数的所有可能的排列并存储最佳排列(即总数最接近给定值的排列).

我正在尝试尽可能高效地编写此代码,并且会提供任何建议或示例.

我正在考虑将整数存储在一个数组中,并使用循环内的指针执行排列.这是一个好方法吗?

c++ pointers

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

PL/SQL过程参数中的类似通用行为

假设我在PL/SQL中定义了一些数据类型:

TYPE foo_t IS RECORD (...);
TYPE foo_table_t IS TABLE OF foo_t INDEX BY BINARY_INTEGER;

TYPE bar_t IS RECORD (...);
TYPE bar_table_t IS TABLE OF bar_t INDEX BY BINARY_INTEGER;
Run Code Online (Sandbox Code Playgroud)

我是否可以编写一个能够接受从TABLE派生的任何数据类型(例如,a foo_table_t或a bar_table_t)作为参数的过程?该过程不需要知道表的行类型.一个简单的例子:

PROCEDURE remove_last(some_table ...) IS
BEGIN
    some_table.DELETE(some_table.LAST);
END;
Run Code Online (Sandbox Code Playgroud)

generics oracle plsql procedure

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

Server.Transfer和System.Threading.ThreadAbortException

请参阅http://support.microsoft.com/kb/312629/EN-US/

我也在我的应用程序中使用reponse.direct,但我没有得到例外.知识库文章建议的解决方法(Server.Execute)对我不起作用.我收到很多来自AJAX工具包的目标页面上的JavaScript例外的,如果我使用使用Server.Execute,和我没有挖成的原因.

我的问题 - 你认为反对将这个例外作为一个"已知限制"并继续前进的观点是什么?

我在这一个非常特殊的情况下,使用Server.Transfer的原因是,我想掩盖了实际执行网页的(真正)的目标URL.它运行得很好,除了这个例外(用户从未看到).

multithreading exception server.transfer

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

将Apache重定向到Tomcat - 在应用程序中导航时出现IllegalStateException

我在Windows XP上使用Apache 2.2和Tomcat 6.0.18.我已经启用mod_proxy模块将流量从我的Apache Web服务器重定向到Tomcat.我只更新了httpd.conf文件,使其具有如下重定向:

ProxyPass         /myapp  http://MYMACHINENAME:8080/MyApp/Start
ProxyPassReverse  /myapp  http://MYMACHINENAME:8080/MyApp/Start
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是初始重定向工作正常,JSP页面正确呈现.当我尝试通过单击页面上的菜单导航到不同的JSP页面时,我得到异常:

SEVERE: Servlet.service() for servlet StartIntro threw exception
java.lang.IllegalStateException
    at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
    at StartIntro.doPost(StartIntro.java:103)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:595)
Run Code Online (Sandbox Code Playgroud)

如果我不从Apache进行任何重定向,导航工作正常.

我应该研究什么想法?

TIA,Magnus Lassi

java apache redirect jsp tomcat

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

如何在csharp项目中更改源文件编码(visual studio/msbuild机器)?

有没有办法迫使VS总是使用Unicode,而不是奇怪的ISO-something?

我正在使用Vista上的Visual Studio 2008(波兰语语言环境)开发winapp csproject.当我在Win Server 2003(英语语言环境)上构建项目时出现问题 - 然后波兰语变音就消失了.

我调查过这个问题是由不正确的源文件编码引起的.看起来源文件没有使用UTF-8编码.

encoding localization utf-8 visual-studio

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