问题列表 - 第37413页

给定属性名称,如何创建委托以获取其值

我们有一些代码,给定属性名称使用反射来实现Comparer.

我希望存储一个委托/ Func来获取值,而不是每次我们需要获取值时支付反映价格.

鉴于这样的类:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我试着写一个能为我创建委托的函数

Func<T, object> CreateGetFuncFor<T>(string propertyName)
{
    PropertyInfo prop = typeof(T).GetProperty(propertyName);

    return (Func<T, object>)Delegate.CreateDelegate(typeof(Func<T, object>), 
                                                    null, 
                                                    prop.GetGetMethod());
}
Run Code Online (Sandbox Code Playgroud)

以下代码适用于获取名称

var person = new Person { Name = "Dave", Age = 42 };

var funcitonToGetName = CreateGetFuncFor<Person>("Name");
Console.WriteLine(funcitonToGetName(person));

var functionToGetAge = CreateGetFuncFor<Person>("Age");
Run Code Online (Sandbox Code Playgroud)

但对于Age proerty,它会抛出一个带有"绑定到目标方法的错误"消息的ArgumentException

我错过了什么?还有另一种方法吗?

c# reflection delegates

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

MacOSX:附带附件的新邮件

我想用默认的邮件客户端创建一个新邮件,并自动附加一个文件.

要创建一个dummy@somewhere.com包含主题foo和正文的新邮件bar,我可以执行以下操作:

open "mailto:dummy@somewhere.com?subject=foo&body=bar"
Run Code Online (Sandbox Code Playgroud)

我现在如何附加文件?

如果这种方式不可能(有open),我的替代方案是什么?

我更喜欢使用Java和本地语言(C++,ObjC)的解决方案.因此,如果有一种方法通过shell来做到这一点,这将使我很容易,因为我可以产生这样的进展.

否则我将不得不回到某个SMTP引擎,只写一个自己的小邮件发件人.

email macos smtp

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

打破列表并使用索引号标记每个元素

如何拆分作为参数传递给函数的列表并用数字标记每个元素?

我遇到的问题是如何增加erlang,因为没有for循环.

谢谢

erlang

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

如何在datagridview中制作此图(参考图像)类型的图形

我希望在datagridviewcontrol中添加这种类型的图形: -

替代文字

这里的图表是绘制了12个月,我可以输入12个月的像素百分比或比较值....还请告诉我们如何为图表着色

任何有关这方面的想法都将受到高度赞赏

编辑----感谢所有答案,我学到了很多,但仍然无法解决问题...

  1. 我需要在我的datagridview中显示大量的行,大约有15列......所以直接添加行非常奇怪,但每次添加行时都会为图形添加不同的列...无法想到任何行另外一种方法来完成这个....而且我不想保存我发现的图像,如果我将图像直接添加到网格视图中.....

  2. 是否有任何第三方工具可以帮助我使用图表获取自定义datagridview

谢谢 .

.net c# graphics datagridview bar-chart

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

类变量失去价值

这就是我的代码的样子.

我想知道为什么标签中的值变为空白或为空.

我想在获取数据时将值分配给用户名,并在按钮单击事件中使用它.

some1可以指导我这个,为什么会发生这种情况以及如何解决这个问题

我不想使用会话和静态.

namespace GUI
{
  public partial class Updatechild : System.Web.UI.Page
{
    string UserName;

   protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
        {
          //CALL A FUNCTION TO GET THE VALUE
          GetData();
        }
    }

   protected void GetData()
    {
      //VALUE assigned
       UserName= "USER1"
    }

   // button click event
   protected void Button_Click(object sender, EventArgs e)
    {
       Label.Text = UserName; //value comes as blank.
    }

}
Run Code Online (Sandbox Code Playgroud)

c# asp.net class visual-studio-2008

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

iPhone内存管理

我对内存管理有点失落.我已经读过你应该在你分配的时候发布.但是当你得到一个没有alloc的实例时,你就不应该发布.

这种情况怎么样,只需要知道我是否正确编码.我仍然是iphone dev的新手.

我有一个CustomerRepository类,它有一个方法

- (MSMutableArray *) GetAllCustomers() {

  MSMutableArray *customers = [[MSMutableArray alloc] init];

  Customer *cust1 = [[Customer alloc] init];
  cust1.name = @"John";

  Customer *cust2 = [[Customer alloc] init];
  cust2.name = @"Tony";

  [customers addOjbect:cust1];
  [customers addOjbect:cust2];

  [cust1 release];
  [cust2 release];

  return customers;

}
Run Code Online (Sandbox Code Playgroud)

然后我有一个UIViewController

- (void) LoadCustomers() {

      CustomerRepository *repo = [[CustomerRepository alloc] init];

      MSMutableArray *customers = [repo GetAllCustomers];          

      // Iterate through all customers and do something

      [repo release];

} 
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下...... MSMutableArray永远不会被释放?它应该在哪里发布?

iphone memory-management objective-c

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

UMFPACK和BOOST的uBLAS稀疏矩阵

我在数字代码中使用Boost的uBLAS,并且有一个"重"解算器:

http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?LU_Matrix_Inversion

代码工作得很好,然而,它很慢.经过一些研究,我找到了UMFPACK,它是一个稀疏矩阵求解器(除此之外).我的代码生成大型稀疏矩阵,我需要非常频繁地反转(更正确地解决,逆矩阵的值是无关紧要的),因此UMFPACk和BOOST的Sparse_Matrix类似乎是一个幸福的婚姻.

UMFPACK请求由三个向量指定的稀疏矩阵:条目计数,行索引和条目.(见例).

我的问题归结为,我可以从BOOST的Sparse Matrix类中有效地获得这三个向量吗?

c++ boost numerical linear-algebra umfpack

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

javascript:如何写$(document).ready像没有jquery的事件

在jquery $(document).ready(function)或$(function)中,如果没有jquery,我怎么能做同样的事情,我需要浏览器兼容,并且允许附加多个函数.

注意:dom ready!= window onload

javascript domready

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

Char*vs C++中的字符串速度

我有一个C++程序,它将读取二进制文件中的数据,最初我存储了数据std::vector<char*> data.我已经改变了我的代码,所以我现在使用字符串而不是char*,所以std::vector<std::string> data.一些变化,我不得不做出是从改变strcmpcompare的例子.

但是我看到我的执行时间急剧增加.对于示例文件,当我使用char*时需要0.38s,在转换为字符串后,我的Linux机器上花了1.72s.我在Windows机器上观察到类似的问题,执行时间从0.59s增加到1.05s.

我相信这个功能导致速度减慢.它是转换器类的一部分,请注意_在变量名末尾指定的私有变量.我显然在这里遇到了内存问题,并且陷入了C和C++代码之间.我希望这是C++代码,所以我更新了底部的代码.

我访问ids_names_多次在其他功能了,所以访问速度是非常重要的.通过使用创建map而不是两个单独的向量,我已经能够使用更稳定的C++代码实现更快的速度.谢谢大家!

示例NewList.Txt

2515    ABC 23.5    32  -99 1875.7  1  
1676    XYZ 12.5    31  -97 530.82  2  
279  FOO 45.5    31  -96  530.8  3  
Run Code Online (Sandbox Code Playgroud)

旧代码:

void converter::updateNewList(){
    FILE* NewList;
    char lineBuffer[100];
    char* id = 0;
    char* name = 0;

    int l = 0;
    int n;

    NewList = fopen("NewList.txt","r");
    if (NewList == NULL){
        std::cerr << "Error in reading NewList.txt\n"; …
Run Code Online (Sandbox Code Playgroud)

c++ string performance char

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

如何使用JS触发GIF动画?

我有一个播放一次的动画GIF(不循环).我希望它在点击时动画.我试过这样的事情:

 $('#plus').click(function(){
    $('#plus').attr('src','');
    $('#plus').attr('src','img/plus.gif')
 });
Run Code Online (Sandbox Code Playgroud)

希望快速重置src会触发动画,但没有运气.谁知道会怎么做?

javascript jquery gif animated-gif

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