问题列表 - 第17255页

使用反射在运行时C#类型转换

从这个问题的标题来看,我想要做的事情可能是不可能的,所以我会描述我在做什么,你可以随时让我知道我做错了什么以及什么是更好的方法来完成我的目标.

我有一个XML文件,它描述了1)一个基类型派生的自定义对象,以及2)内部字段名称和相关值.这些派生对象可能具有基类不了解的其他字段.

我将对象的类型提取为字符串,并将所有对象数据放入字典中,其中键是字段名称,值是字段的值.我使用字符串名称和对象的默认构造函数来实例化对象.我可以将所有对象的属性嗅探到PropertyInfo []中.现在我需要获取字符串形式的所有值并将它们转换为正确的数据类型,以便我可以将它们加载到对象的属性中.(当我输入它时,听起来我正在采取一种保存状态并恢复它,但我只听说过这种情况.如果你想按照这些方式提出建议,那么请记住我无法读取XML文件中的数据,我无法改变它.)

我可以将所有字符串值转换为Type对象给出的类型,并使用我具有以下定义的暴力函数:

public object convertMe(string v, Type t)
Run Code Online (Sandbox Code Playgroud)

由于我不知道我在该函数中抛出了什么类型,我不知道回来了什么,我无法将对象明确地转换为适当的类型以分配给上述属性.我一直在尝试以下类型的演员无济于事:

string objectType = /*read type string from XML*/;

... // Wherein I instantiate an object "theObject" and get PropertyInfo[] from it.
... // I also make sure that I'm trying to assign the correct data to
... // the correct property.

Type t = currentProperty.PropertyType;
object o = convertMe(value, Type.GetType(qtype));
currentProperty.SetValue(theObject, (t)o, null);  // Doesn't work
currentProperty.SetValue(theObject, (t)Convert.ChangeType(o, …
Run Code Online (Sandbox Code Playgroud)

c# casting dynamic

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

启用ODP.Net性能计数器

如何为我的网络应用程序启用ODP.Net性能计数器?

我正在使用:

  • .Net 2.0
  • Oracle 11g
  • Windows 2008 R2

.net oracle connection-pooling windows-server-2008-r2

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

为什么我在尝试 http post 时收到 CURLE_URL_MALFORMAT?

这是代码(从现有应用程序中提取):

CURL *curl = curl_easy_init();
_ASSERTE(curl);

string url = "http://127.0.0.1:8000/";

char *data = "mode=test";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_URL, url);
CURLcode res = curl_easy_perform(curl);

bool success = (res == CURLE_OK);

curl_easy_cleanup(curl);
Run Code Online (Sandbox Code Playgroud)

res的值为CURLE_URL_MALFORMAT。这个URL与curl不兼容吗?

post curl http

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

使用python阅读邮件

我如何使用python从我的邮箱中读取邮件?

import getpass, imaplib
M = imaplib.IMAP4('IMAP4.gmail.com:993')
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
    typ, data = M.fetch(num, '(RFC822)')
    print 'Message %s\n%s\n' % (num, data[0][1])
M.close()
M.logout()
Run Code Online (Sandbox Code Playgroud)

这是我的代码..但是当我执行它的抛出错误:

Traceback (most recent call last):
  File "E:/jagdish/python progs/readmail.py", line 2, in <module>
    M = imaplib.IMAP4('IMAP4.gmail.com:993')
  File "C:\Python25\lib\imaplib.py", line 163, in __init__
    self.open(host, port)
  File "C:\Python25\lib\imaplib.py", line 230, in open
    self.sock.connect((host, port))
  File "<string>", line 1, in connect
gaierror: (11001, 'getaddrinfo failed')
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个???

python email gmail imap

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

是否可以将MySQL Workbench文件保存为纯XML?

DB Designer有很多错误,但一个突出的特性是默认情况下数据库模型以纯XML格式保存.

这允许用户通过SVN或Beyond Compare区分文件版本,轻松找到对数据库所做的任何更改.

不幸的是,DB Designer的succsssor,MySQL Workbench,以专有的MVW文件格式存储文件,这是不可读的.

是否可以强制MySQL Workbench保存为XML?

xml mysql mysql-workbench

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

高效的Linux套接字(DMA /零拷贝)

我正在构建一个性能非常高的Linux服务器(基于epoll,非阻塞套接字和异步磁盘IO [基于io_submit/io_getevents/eventfd]).我的一些基准测试表明,我处理套接字的方式不足以满足我的要求.特别是,我关心的是将数据从用户空间缓冲区传输到网卡,从网卡返回到用户空间缓冲区(现在让我们忽略sendfile调用).

根据我的理解,在非阻塞Linux套接字上调用读/写并不是完全异步的 - 系统调用阻塞,同时将缓冲区从用户空间复制到内核(或者反过来),然后才返回.有没有办法避免在Linux中听到这种情况?特别是,我是否可以在一个立即返回的套接字上进行完全异步写入调用,必要时将用户空间缓冲区DMA发送到网卡,并发出信号/设置事件/等.在结束的时候?我知道Windows有一个接口,但我在Linux中找不到任何相关的东西.

谢谢!

sockets linux asynchronous

30
推荐指数
2
解决办法
9088
查看次数

是什么决定了Powershell管道是否会展开一个集合?

# array
C:\> (1,2,3).count
3
C:\> (1,2,3 | measure).count
3

# hashtable
C:\> @{1=1; 2=2; 3=3}.count
3
C:\> (@{1=1; 2=2; 3=3} | measure).count
1

# array returned from function
C:\> function UnrollMe { $args }
C:\> (UnrollMe a,b,c).count
3
C:\> (UnrollMe a,b,c | measure).count
1
C:\> (1,2,3).gettype() -eq (UnrollMe a,b,c).gettype()
True
Run Code Online (Sandbox Code Playgroud)

与HashTables的差异是众所周知的,尽管官方文档仅提到它(通过示例).

但是,功能问题对我来说是个新闻.我有点震惊,现在还没有咬过我.我们编程人员可以遵循一些指导原则吗?我知道在C#中编写cmdlet时会出现WriteObject重载,您可以在其中明确地控制枚举,但是AFAIK在Posh语言本身中没有这样的构造.正如最后一个例子所示,Posh解释器似乎相信被管道对象的类型没有区别.我怀疑在引擎盖下可能会有一些Object vs PSObject的怪异,但是当你编写纯粹的Posh并期望脚本语言"正常工作"时,这没什么用处.

/编辑/

基思是正确的指出,在我的例子中,我传入一个字符串[]参数而不是3个字符串参数.换句话说,Measure-Object说Count = 1的原因是因为它看到的是一个数组,其第一个元素是@("a","b","c").很公平.这些知识允许您以多种方式解决问题:

# stick to single objects
C:\> (UnrollMe a b c | measure).count
3 …
Run Code Online (Sandbox Code Playgroud)

collections powershell ienumerable pipeline

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

Firefox扩展与Greasemonkey脚本?

我一直在研究Firefox扩展,但它进展缓慢(部分原因是因为我没有时间去研究它).我有一个基本框架,验证我可以与外部JSON API通信,在加载时修改任何网页,并显示首选项框.对于我正在编写的扩展,这些都是必需的Hello Worlds(也许我不需要首选项框).

突然之间,我发现我可能忽略了一种更简单的方法.由于Greasmonkey脚本可以编译成Firefox Extensions,因此Greasemonkey可能是更好的方法:

  1. 它可能更容易(不确定)?
  2. 它可能是跨浏览器(至少Safari和Firefox)?
  3. Greasemonkey脚本与"原生"FF扩展相比有限制吗?可以编写chrome UI吗?普通DIV会弹出?存储首选项(我认为它们可以)?

我正在寻找Greasemonkey与"原生"Firefox扩展的比较.还有,有没有人使用"编译"Greasemonkey脚本到FF扩展(经验,问题)?

javascript firefox greasemonkey

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

我想继续进行μC编程,但我完全不知道从哪里开始

我一直在考虑"继续"进行MCU编程,但问题是我从未使用过任何微控制器或类似产品.据我所知,AVR和PIC是业余爱好者中最常见的微控制器,显然大多数人建议AVR为像我这样的新手,因为它的"C友好架构"(无论这意味着什么),它的C编译器及其大型业余爱好者社区.AVR或PIC或其他任何东西,对我来说并不重要,我希望能够在Linux上用一个好的编译器编写C代码,并最终能够在我的MCU上添加一个LCD屏幕(只是为了输出基本的ASCII字符,也许在这里和那里画几个像素,单色,没什么大的).我不需要任何复杂或极快或甚至大量的记忆,因为我喜欢有限(但不是太有限)的事情,你需要一些创造力来实现目标.我在互联网上环顾四周,但我发现的大多数页面已经有几十年的历史了,并且/或者没有提出我可以购买的任何好的'包'(这将支持上面提到的内容).这就是为什么我问你,希望你能帮助我一点.:)

谢谢,霍法.

linux microcontroller avr pic

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

编译器IntelliJ和Eclipse之间的区别

我有一个如下所示的课程.这个类在Eclipse build 20090920-1017上编译得很好:

public class MyScheduledExecutor implements ScheduledExecutorService {

    ...

    public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException {
        ...
    }


    public <T> List<Future<T>> invokeAll(Collection<Callable<T>> tasks) throws InterruptedException {
        ...
    }


    public <T> T invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
        ...
    }


    public <T> T invokeAny(Collection<Callable<T>> tasks) throws InterruptedException, ExecutionException {
        ...
    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在IntelliJ 9中编译,我会收到编译错误.它只会在编译的IntelliJ如果我更换所有的引用<Callable<T>><? extends Callable<T>>.例如:

    public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, …
Run Code Online (Sandbox Code Playgroud)

java eclipse intellij-idea

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