问题列表 - 第39255页

使用反射将项添加到List <T>

我试图通过反射向IList添加项目,但在调用"添加"方法时,抛出错误"对象引用未设置".在调试时我发现GetMethod("Add")返回了一个NULL引用.

Type objTyp = typeof(MyObject); //HardCoded TypeName for demo purpose
var IListRef = typeof (List<>);
Type[] IListParam = {objTyp};          
object Result = IListRef.MakeGenericType(IListParam);

MyObject objTemp = new MyObject(); 
Result.GetType().GetMethod("Add").Invoke(Result, new[] {objTemp });
Run Code Online (Sandbox Code Playgroud)

请帮忙.

c# reflection

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

意外的观察:数组的var_dump()标记引用的元素......从什么时候开始?

我刚刚对数组运行了一些简单的调试,并注意到当我执行数组的var_dump()时,输出会标记数组中由另一个变量引用的任何元素.作为一个简单的实验,我运行了以下代码:

$array = range(1,4);

var_dump($array);
echo '<br />';

foreach($array as &$value) {
}

var_dump($array);
echo '<br />';

$value2 = &$array[1];

var_dump($array);
echo '<br />';
Run Code Online (Sandbox Code Playgroud)

它给出了以下输出:

array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) } 
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> ?(4) } 
array(4) { [0]=> int(1) [1]=> ?(2) [2]=> int(3) [3]=> ?(4) } 
Run Code Online (Sandbox Code Playgroud)

注意?元素3旁边的符号和随后的元素1.还请注意,这些条目不显示条目的数据类型.

经过一些实验,如果我使用var_dump标量类型,或者使用对象或资源,我都不会看到这个.如果数组包含字符串数据,则符号为&(并且它仍然显示数据类型),同样具有float,boolean和object条目.

这是针对PHP 5.2.8运行的

第一个问题:这种行为是什么时候开始的,或者是我之前没有注意到的事情?

第二个问题:如果引用元素可以通过var_dump()以这种方式标记,那么核心PHP中是否有任何函数可以识别数组元素是否被另一个变量引用; 或者将从_zval_struct返回refcount或ref标志?

php reference var-dump

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

在scala中以5的幂递增for循环(循环变量)

我曾在Javaranch上问过这个问题,但在那里得不到答复.所以在这里发布它:

我有这个特殊要求,其中循环变量的增量是通过在每次迭代后将其乘以5来完成的.在Java中,我们可以这样实现它:

for(int i=1;i<100;i=i*5){}
Run Code Online (Sandbox Code Playgroud)

在scala我尝试以下代码 -

var j=1
for(i<-1.to(100).by(scala.math.pow(5,j).toInt))
{
  println(i+" "+j)
  j=j+1
}
Run Code Online (Sandbox Code Playgroud)

但它的打印输出如下:1 1 6 2 11 3 16 4 21 5 26 6 31 7 36 8 ....

它总是递增5.那么我如何实际将增量乘以5而不是添加它.

loops scala

7
推荐指数
2
解决办法
8768
查看次数

uri操纵类.net

是否有适合.NET的OSS URI操作类?

请不要建议BCL Uri课程,或所有其他方式的手动黑客,我可以做几乎无用的事情.

我正在寻找一个强大的库来处理所有不同形式的uris(相对的,绝对的,有/没有查询字符串等),让我以优雅的方式访问和操作所有片段.

谢谢

c#

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

地址已经与boost asio接受器一起使用

我写了一个服务器,它正在监听TCP连接和连接它的客户端.当我关闭服务器并在同一端口重新启动它时,我有时会在调用bind(...)时收到错误消息EADDRINUSE(Linux上的错误代码:98).即使我设置了重用套接字的选项,也会发生这种情况.

错误不会一直发生,但似乎当客户端连接到服务器并在关闭时发送数据时,它会更频繁地发生.我想问题是服务器关闭时仍有未决连接(相关主题:https://stackoverflow.com/questions/41602/how-to-forcibly-close-a-socket-in-time-wait).

在服务器端,我使用boost :: asio :: ip :: tcp :: acceptor.我使用选项"reuse_address"对其进行初始化(请参阅http://beta.boost.org/doc/libs/1_38_0/doc/html/boost_asio/reference/basic_socket_acceptor.html).这是代码片段:

using boost::asio::ip::tcp;
acceptor acceptor::acceptor(io_service);
endpoint ep(ip::tcp::v4(), port);
acceptor.open(ep.protocol());
acceptor.set_option(acceptor::reuse_address(true));
acceptor.bind(ep);
acceptor.listen();
Run Code Online (Sandbox Code Playgroud)

接受者关闭时:

acceptor.close();
Run Code Online (Sandbox Code Playgroud)

我之前也尝试过使用acceptor.cancel(),但它具有相同的效果.发生此错误时,我无法在同一端口上重启服务器很长一段时间.重新启动网络有帮助,但不是永久解决方案.

我错过了什么?

任何帮助将不胜感激!:)

c++ sockets boost boost-asio

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

如何在javascript中解析字符串到int

我希望从javascript中的字符串int我如何从中得到它们

test1,stsfdf233,fdfk323,

有没有人告诉我从这个字符串中获取整数的方法.

这是一个规则,int总是在字符串的后面.

我怎么能得到最后在我的字符串中的int

javascript

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

在Android上刷新Adapter/ListView的最佳方法

我的书"Hello Android"将此作为一种使用自定义db帮助程序,设置游标,然后按如下方式设置适配器的方法:

Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
        cursor = getData();
        showData(cursor);
} finally {
        test.close();
}
Run Code Online (Sandbox Code Playgroud)

但是,每当我需要刷新数据集时,我需要继续运行这段代码(由于"this"不可用,因此在按钮的onClick()中会有点困难.

这是刷新数据集的最佳方法,还是应该删除.close并发出adapter.notifyDataSetChanged()?如果我这样做,有时我会得到一个强制关闭(我现在不记得)但有时它无法正确删除 - 我想这可能是因为数据库当前是打开的并且它试图再次打开.

我们是否还要在Class中(在OnCreate之外)声明Cursors,DatabaseHelpers和Adapter的变量,以便所有函数都可以访问它们?

我意识到这只是在这个阶段的糟糕编程,但我试图得到一些关于最佳做事方式的指示.

android listview refresh

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

eclipse:用xsd验证xml

当我在eclipse中编辑xml时,有没有人知道是否有可能用xsd验证xml?

这就是我的xml开始的方式:

<root 
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../definitions.xsd">
Run Code Online (Sandbox Code Playgroud)

替代文字

xml eclipse validation xsd

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

c#调整datagridview列的大小以适应控制

我有一个数据网格视图,它与Winform上的面板对接并锚定.当我调整表单大小时,datagridview按预期调整大小,但列不会调整大小以适应datagridview.相反,我留下了Datagridview的背景颜色.

如何通过控件使列增长?

谢谢.

c# datagridview winforms

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

如何在android中读取当前帧缓冲区?

有没有一种方法来读取当前屏幕的帧缓冲区?我搜索了一些关于帧缓冲区的数据.有人使用glReadPixels方法,但信息不够.有谁知道如何详细阅读当前帧缓冲区?

谢谢你的帮助.

android framebuffer

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