问题列表 - 第21013页

Delphi通用的TInterfaceList是否可行?

在Delphi 2010中,我定义了一个通用的TInterfaceList,如下所示:

type

TInterfaceList<I: IInterface> = class(TInterfaceList)
  function GetI(index: Integer): I;
  procedure PutI(index: Integer; const Item: I);
  property Items[index: Integer]: I read GetI write PutI; default;
end;

implementation

function TInterfaceList<I>.GetI(index: Integer): I;
begin
  result := I(inherited Get(Index));
end;

procedure TInterfaceList<I>.PutI(index: Integer; const Item: I);
begin
  inherited Add(Item);
end;
Run Code Online (Sandbox Code Playgroud)

我还没有遇到任何问题,但这样做有什么本质上的风险吗?是否可以向其添加枚举器以允许..in循环对其进行操作?如果它没有任何问题,我想知道为什么在RTL中还没有定义类似的东西.

delphi delphi-2010

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

无法在SQl 2008中创建停止列表

我是SQL 2008中停止列表功能的新手,似乎缺少一些明显的东西.我想尝试以下陈述:

CREATE FULLTEXT STOPLIST myStoplist3  
FROM SYSTEM STOPLIST;  
GO  
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Msg 102, Level 15, State 1, Line 1  
Incorrect syntax near 'STOPLIST'.  
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?代码直接从MSDN中解除,因此我假设这是一个配置问题 - 全文搜索已设置并正常工作.

t-sql sql-server full-text-search sql-server-2008

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

使用jquery在表中动态添加删除行

我按如下方式构建了我的表:

    <table id="dataTable">
            <thead>
                <tr><th>Name</th>
               <th>Value</th></tr>
            </thead>
<TR><TD>Scooby Doo</TD><TD>6</TD><TD><INPUT TYPE="Button"  onClick="AddRow()" VALUE="Add Row"></TD></TR>
</table>
Run Code Online (Sandbox Code Playgroud)

单击"添加行"按钮时,我需要将按钮更改为删除按钮并在第一行插入新行.第一行必须包含与代码中相同的内容.我怎样才能做到这一点?

单击删除按钮,Imust能够删除删除按钮所属的行吗?

javascript jquery

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

为什么Pylint在这个加注语句中给出错误E0702,提出NoneType?

说我有以下代码.

def foo():
    foobar = None
    if foobar is not None:
        raise foobar
Run Code Online (Sandbox Code Playgroud)

当我通过pylint运行此代码时,我收到以下错误:

E0702:4:foo: Raising NoneType while only classes, instances or string are allowed
Run Code Online (Sandbox Code Playgroud)

这是pylint中的错误吗?我的幽灵太老了吗?

pylint 0.18.0, 
astng 0.19.1, common 0.45.0
Python 2.5.1 (r251:54863, Aug 25 2008, 09:23:26) 
Run Code Online (Sandbox Code Playgroud)

注意:我知道这段代码没有任何意义,它已被提炼到其裸露的骨头以暴露手头的问题,通常情况发生在第2行和第3行之间,这可能使foobar不是None,而且我不能只是在那里引发异常,因为这发生在另一个对它有限制的线程中.

python exception pylint

9
推荐指数
2
解决办法
2533
查看次数

如何使用ANTLR修改CommonTokenStream中的标记文本?

我正在尝试学习ANTLR,同时将它用于当前项目.

我已经达到了可以在一大块代码上运行词法分析器并将其输出到CommonTokenStream的程度.这工作正常,我已经验证源文本被分解为适当的标记.

现在,我希望能够修改此流中某些标记的文本,并显示现在修改的源代码.

例如,我尝试过:

import org.antlr.runtime.*;
import java.util.*;

public class LexerTest
{
    public static final int IDENTIFIER_TYPE = 4;

    public static void main(String[] args)
    {
    String input = "public static void main(String[] args) { int myVar = 0; }";
    CharStream cs = new ANTLRStringStream(input);


        JavaLexer lexer = new JavaLexer(cs);
        CommonTokenStream tokens = new CommonTokenStream();
        tokens.setTokenSource(lexer);

        int size = tokens.size();
        for(int i = 0; i < size; i++)
        {
            Token token = (Token) tokens.get(i);
            if(token.getType() == IDENTIFIER_TYPE)
            {
                token.setText("V");
            }
        } …
Run Code Online (Sandbox Code Playgroud)

compiler-construction antlr lexical-analysis antlr3

5
推荐指数
2
解决办法
6149
查看次数

将基于Spring 3.0.0 java的IOC添加到JUnit 4.7测试中

有一个文档http://static.springsource.org/spring/docs/2.5.6/reference/testing.html如何使用xml-configuration为junit测试添加IoC支持,但我找不到基于java的示例组态...

例如,我有基于java的bean:

public class AppConfig
{
    @Bean
    public Test getTest() { return new Test(); }
}
Run Code Online (Sandbox Code Playgroud)

并测试:

@RunWith(SpringJUnit4ClassRunner.class)
public class IocTest
{
    @Autowired
    private Test test;

    @Test
    public void testIoc()
    {
        Assert.assertNotNull(test);
    }
}
Run Code Online (Sandbox Code Playgroud)

在不使用xml-configs的情况下,我应该添加什么来启用基于java的bean到我的junit测试?

通常我使用:

new AnnotationConfigApplicationContext(AppConfig.class);
Run Code Online (Sandbox Code Playgroud)

但它不适用于测试......

java junit spring

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

是否可以(使用Moq)使用Lambda参数进行存根方法调用?

如果我这样做:

var repository = new Mock<IRepository<Banner>>();
repository.Setup(x => x.Where(banner => banner.Is.AvailableForFrontend())).Returns(list);
Run Code Online (Sandbox Code Playgroud)

"Where"是我的存储库中的一个方法Func<T, ISpecification<T>.AvailableForFrontend返回ISpecification的实现,list是存储库的泛型类型的IEnumberable.

它编译得很好,但是当我运行测试时出现以下错误.

---- System.NotSupportedException : Expression banner => Convert((banner.Is.AvailableForFrontend() & banner.Is.SmallMediaBanner())) is not supported.
Run Code Online (Sandbox Code Playgroud)

如果我在直接接受ISpecification的存储库中使用Where的其他重载,则没有问题.

所以我的新手模拟/ Moq问题是:我可以使用lamdba作为参数存根方法调用吗?或者我应该以另一种方式解决这个问题?

.net c# testing moq mocking

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

通过电子邮件验证电子邮件地址后自动登录

当用户成功验证其电子邮件地址时,我可以自动将其登录吗?

我认为有以下原因:

  • 该链接是随机散列
  • 用户已经因为必须验证而烦恼
  • 我会信任任何有权访问电子邮件收件箱的人,因为您可以重置密码
  • 用户当然只能验证(因此自动登录)一次

我问,因为发送一个自动登录的链接让我觉得我错过了一些东西.

email authentication verification login

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

使用各种VCS(版本控制系统)来跟踪Drupal项目的优点是什么?

我正在尝试使用Drupal为我的工作流程找到最佳版本控制策略.我每次安装都有多个站点,我很确定每个站点都有一个单独的存储库.据我所知,值得考虑的VCS是:

  • SVN
  • Bazaar(bzr)
  • 混帐
  • Mercurial(hg)

我知道这些在一般情况下是如何比较的,但是想要了解Drupal的优点/缺点.如果您正在使用(或已经使用过)Drupal中的任何一个:

  • 你的设置是什么?
  • 您选择的VCS如何适用于管理Drupal项目?
  • 什么不是?

version-control drupal dvcs

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

反序列化不适用于MemoryStream

//Serialize the Object
MemoryStream ms = new MemoryStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms , ObjectToSerialize);
byte[] arrbyte = new byte[ms .Length];
ms.Read(arrbyte , 0, (int)ms .Length);
ms.Close();

//Deserialize the Object
Stream s = new MemoryStream(arrbyte);
s.Position = 0;
Object obj = formatter.Deserialize(s);//Throws an Exception
s.Close();
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用上面的方式反序列化,它会将异常作为

'二进制流'0'不包含有效的BinaryHeader.可能的原因是序列化和反序列化之间的无效流或对象版本更改.

以下代码在哪里工作

//Serialize the Object
IFormatter formatter = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
formatter.Serialize(ms, ObjectToSerialize);
ms.Seek(0, SeekOrigin.Begin);
byte[] arrbyte = ms.ToArray();

//Deserialize the Object
Stream s= new MemoryStream(byt);
stream1.Position = 0; …
Run Code Online (Sandbox Code Playgroud)

c# serialization

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