问题列表 - 第12772页

快速访问在C#中保存属性的类型/方法/ ...

我在这里创建了一个名为AAtribute的自定义属性,例如一个名为B的类,其中一个或多个方法使用该属性.是否有可能获得保存属性(在本例中为BMethod1)的方法的MethodInfo作为(其中一个)属性而不遍历整个程序集并查看其属性的所有已定义方法?它们是其他AttributeTargets(参数/类型/属性/ ...)的模拟方式吗?我不想要使用这种类型的属性的所有方法的数组,而只需要使用此Attirbute对象的方法.我想用它来对方法添加额外的约束(返回类型,参数,名称,其他属性用法......).

[AttributeUsage(AttributeTargets.Method)]
public class AAtribute : Attribute {

    //some fields and properties

    public AAtribute () {//perhaps with some parameters
        //some operations
        MethodInfo mi;//acces to the MethodInfo with this Attribute
                      //as an Attribute (the question)
        //some operations with the MethodInfo
    }

    //some methods

}

public class B {

    //some fields, properties and constructors

    [A]
    public void BMethod1 () {
        //some operations
    }

    //other methods

}
Run Code Online (Sandbox Code Playgroud)

c# attributes system.reflection methodinfo

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

Perforce值得吗?

我的一位同事对PerForce的可能性感到兴奋(我们基本上需要在后勤上对补丁和更改进行分组,并且本机上的SCM支持非常好).我们目前使用CVS,并对所有可能性开放.我们只有少数使用纯Eclipse并使用ant脚本运行构建的开发人员.

在跳入水中之前,我想听听其他技术原因可以说"好主意"或"坏主意"的人.我也想知道这在你的日常工作中是多么的干扰.


编辑2011:仅供记录.我们迁移到git - 决定性的因素是我们使用Eclipse和eclipse.org用于git,因此我们最终可以期待非常好的IDE集成.我们有点早了 - 直到今年夏天的Eclipse 3.7.今天git在Eclipse中非常好用.


编辑2015:事实证明,git最终成为无可争议的赢家,这得益于github和一般的IDE支持,结合Maven最终使Java项目与IDE无关.

java eclipse git mercurial perforce

19
推荐指数
3
解决办法
3777
查看次数

确定字节序的最Pythonic方法是什么?

我正在努力找到解决我的代码运行的机器是big-endian还是little-endian的最佳方法.我有一个有效的解决方案(虽然我没有在大端机器上测试它)但它看起来有点笨重:

import struct
little_endian = (struct.pack('@h', 1) == struct.pack('<h', 1))
Run Code Online (Sandbox Code Playgroud)

这只是将"本机"双字节包与little-endian包进行比较.有更漂亮的方式吗?

python endianness

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

更改数据库模式和单元测试

     在我们开始之前,我知道很少有人认为测试数据库不是"单元测试".也许"集成测试"会是一个更好的名称.无论哪种方式,开发人员测试都会遇到数据库

     为了启用单元测试,我有一个开发人员本地数据库,我清除并在每次测试开始时使用dbUnit填充一组已知的数据.这一切都运行良好,直到测试使用的表以某种方式更改,我必须手动更新所有XML数据集.这是一种痛苦.我认为其他人必须遇到同样的问题,并希望找到一个很好的解决方案.因此,对于需要填充数据库的测试,您使用了什么以及如何处理表定义更改?(虽然我使用Java,但我对使用不同技术的解决方案持开放态度.)

编辑: 澄清一点.我有一个人为的测试,如:

void testLoadRevision() {
    database.clear(); // Clears every table dbUnit knows about.
    database.load("load/trevision.xml", "load/tissue.xml");
    SomeDatabaseThingie subject = new SomeDatabaseThingie(databaseProvider);
    Revision actual = subject.load();
    assert(actual, expected);
}
Run Code Online (Sandbox Code Playgroud)

在那里我有两个表 - tRevision和tIssue.加载的修订版使用来自tIssue的少量数据.后来tIssue获得了一个新的领域,修改不关心.由于新字段"not null"且没有合理的默认值,因此测试将失败,因为tIssue.xml将无效.

通过这样的小改动,编辑tIssue并不困难.但是当XML文件的数量随着每个流开始出现时,它就变成了大量的工作.

干杯,
    mlk

java dbunit unit-testing

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

HTML锚链接 - href和onclick两者?

我想创建一个执行一些JavaScript的锚标记,然后继续去任何地方href.调用执行我的JavaScript,然后设置一个功能window.locationtop.locationhref位置没有为我工作.

所以,想象一下我在页面上有一个id为"Foo"的元素.我想创作一个类似于的锚:

<a href="#Foo" onclick="runMyFunction(); return false;">Do it!</a>
Run Code Online (Sandbox Code Playgroud)

单击此按钮时,我想执行runMyFunction,然后将页面跳转到#Foo(不会导致重新加载 - 使用top.location会导致重新加载页面).

建议?我很高兴使用jQuery,如果它可以在这里帮助...

html javascript anchor jquery

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

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

ASP.net MVC AntiForgeryToken over AJAX

我目前正在ASP.net中开发一个MVC应用程序.我正在使用AJAX.ActionLink在记录列表中提供删除链接,但这是非常不安全的.我把这个:

<AcceptVerbs(HttpVerbs.Post)>
Run Code Online (Sandbox Code Playgroud)

在执行删除的功能上,停止仅通过URL调用的功能.但是,仍存在的另一个安全漏洞是,如果我要创建一个包含此内容的基本html页面:

<form action="http://foo.com/user/delete/260" method="post">
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

它仍将是一个帖子,但来自不同的位置.

是否可以将AntiForgeryToken与AJAX ActionLink一起使用?如果是这样,这是一种安全的方法吗?我还没有意识到更多的安全漏洞吗?

asp.net security ajax asp.net-mvc

8
推荐指数
4
解决办法
7456
查看次数

是否允许类AND id属性?

是否允许在同一HTML标记中同时具有class AND id属性?

<p id='a' class='b'>
Run Code Online (Sandbox Code Playgroud)

我知道有关于每页一个id的规则,并且标签中允许多个类,但我没有看到有关类和ID的任何内容.

html

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

rails视图页面的推荐文件扩展名(2.3.2)

哪个是rails视图页面的推荐文件扩展名(2.3.2)

1.RHTML
2.html.erb
Run Code Online (Sandbox Code Playgroud)

在这方面有任何意义.

ruby file-extension ruby-on-rails

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

python中的线程

我是python脚本的开始.我想读取msaccess数据库记录并写入XML文件.Access数据库表有超过20000条记录.

现在我能够做到,但需要4到5分钟.所以我实现了线程概念.但线程也需要超过5到6分钟.因为每个线程都打开数据源从表中读取记录并关闭数据源.

我不知道如何解决这些问题.

码:

class ConfigDataHandler(Thread):

  def __init__(self, dev):
    Thread.__init__(self)
    self.dev = dev

  def run(self):    
    db_source_path = r'D:\sampleDB.mdb'
    db_source = win32com.client.Dispatch(r'ADODB.Connection')
    db_source.ConnectionString = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;
                                 DATA SOURCE=' +   db_source_path + ';'
    db_source.Open()

    query = """ SELECT * from table"""
    source_rs = win32com.client.Dispatch(r'ADODB.Recordset')
    source_rs.Open(query, db_source, 3, 1)

    while not source_rs.EOF :
        f_units.append(source_rs.fields("Name").Value))
        source_rs.MoveNext()
    source_rs.Close()
    db_source.Close() 

    out =  render(f_units)
    open("D:/test.xml", "w").write(out)

d_list = get_dev_list()
for d in d_list:       
  current = ConfigDataHandler(d)
  current.start()
Run Code Online (Sandbox Code Playgroud)

python multithreading

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