问题列表 - 第17036页

从属性名称获取属性lambda(其中属性类型可以为空)

嗨,我基本上需要一个具有以下签名的功能

Expression<Func<T, object>> GetPropertyLambda(string propertyName)
Run Code Online (Sandbox Code Playgroud)

我做了一些尝试但是当属性可以为空时问题
就出现了,就像这样

ParameterExpression param = Expression.Parameter(typeof(T), "arg");

Expression member = Expression.Property(param, propertyName);

//this next section does conver if the type is wrong however
// when we get to Expression.Lambda it throws
Type typeIfNullable = Nullable.GetUnderlyingType(member.Type);
if (typeIfNullable != null)
{
    member = Expression.Convert(member, typeIfNullable);
}                       
return Expression.Lambda<Func<T, object>>(member, param);
Run Code Online (Sandbox Code Playgroud)

例外是

'System.Decimal'类型的表达式不能用于返回类型'System.Object'

我真的会想到一些想法以及为什么它不能按预期工作

谢谢

linq lambda

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

检测输入的语言?

我的表单中有一个输入,我想找到一个解决方案来确定输入哪种语言..(是英语,法语,阿拉伯语还是希伯来语...)...

在PHP脚本中,我也使用UTF-8编码.

php

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

NSDateFormatter在设备和模拟器上给出不同的值?什么是解决方法?

我使用的是NSDateFormatter,问题在于它的一致性.如果我使用kCFDateFormatterMediumStyle,它在模拟器中给出格式为"2009年11月26日",但在设备上它给出"2009年11月26日".

现在我有了一个问题,这个NSFormatter在不久的将来是否值得信赖,或者来自苹果的更新是否可以再次改变风格?

iphone xcode cocoa-touch nsdateformatter

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

需要一些SQL查询的帮助

我需要一些SQL Server 2005 SQL查询的帮助.以下是要查询的表中数据的示例:

Id    PersonId      PayrollNum    ContractId     PayrollFrom     PayrollTo
---------------------------------------------------------------------------
 1     432642         85110892     1             01/05/2009      31/05/2009
 2     432642         85110892     1             01/06/2009      30/06/2009
 3     432642         85110892     1             01/07/2009      31/07/2009
 4     432642         85110892     2             01/05/2009      31/05/2009
 5     432642         85110892     2             01/06/2009      30/06/2009
 6     432642         85110892     2             01/07/2009      31/07/2009
 7     432642         85110892     2             01/08/2009      31/08/2009
 8     432642         35110892     1             01/06/2009      30/06/2009
 9     432642         35110892     1             01/05/2009      31/05/2009
10     432642         35110892     1             01/07/2009      31/07/2009

(我希望格式化好 - 用这个东西做表很难!)

我需要的输出如下:

Id
--
 1
 4
 9 …

sql t-sql sql-server sql-server-2005

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

javascript - 知道链接是否已经打开

我想知道是否有办法知道链接是否已经打开.在firefox中,一旦你点击它就会改变链接的颜色,所以我想这是可能的.

编辑:这是一个firefox扩展,所以我无法更改HTML或CSS文件.

谢谢 :)

javascript css hyperlink

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

将NSString转换为iigned应用程序的unsigned char*

我试图将NSString转换为iigned应用程序的unsigned char*.我是这个目标C和iphone应用的新手,所以请帮忙.是否有任何api可以帮助将NSString转换为unsigned char*.

谢谢,KamalBhr

iphone nsstring

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

如何使面板以编程方式滚动以显示其AutoSized图片框

我有一个设置为AutoSize的图片框,以便图像强制它增长到图像的完整大小.

图片框位于autoScroll = true的面板中,因此当图片大于面板时会出现滚动条.

当用户单击图像上的拖动时,如何以编程方式滚动面板,从而重新定位图像.

我尝试过使用MouseMove事件,捕获鼠标的最后X和Y位置,计算鼠标移动了多少,并调整了面板的垂直和水平滚动值.

确实可以移动图像,但它会在整个地方跳跃,并且无法预测地滚动.

我怎样才能做到这一点?

这是我在鼠标事件中所拥有的......

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
    if (dragging)
    {
        if (e.Button == MouseButtons.Left)
        {
            // move the image inverse to direction dragged
            int horizontalChange = (e.X - startingX) * -1;  
            int newHorizontalPos = panel1.HorizontalScroll.Value + horizontalChange;

            if (newHorizontalPos &lt; panel1.HorizontalScroll.Minimum)
            {
                newHorizontalPos = panel1.HorizontalScroll.Minimum;
                horizontalChange = 0;
            }

            if (newHorizontalPos &gt; panel1.HorizontalScroll.Maximum)
            {
                newHorizontalPos = panel1.HorizontalScroll.Maximum;
                horizontalChange = 0;
            }

            panel1.HorizontalScroll.Value = newHorizontalPos;

            int verticalChange = (e.Y - startingY);
            // …
Run Code Online (Sandbox Code Playgroud)

c# panel picturebox winforms

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

LINQ:获取表列名称

使用LINQ,我如何获取表的列名?C#3.0,3.5框架

.net c# linq linq-to-sql

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

addEventListener及其范围

我有一个第三方flash对象,我可以通过他们提供的JavaScript API进行操作.我试着在这个对象上听一个事件,然后在我的对象中触发事件来进一步冒泡事件.我碰巧使用的是EXT Js,但我认为它不重要.

示例代码

this.chart.addEventListener('create', function() {
    this.fireEvent('created');
}, false)
Run Code Online (Sandbox Code Playgroud)

我的问题是匿名函数中的'this'是指触发事件的对象,而不是我要触发事件的对象.

这是另一个范围问题.在此先感谢您的帮助.

javascript this

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

如何判断套接字缓冲区是否已满?

如何判断读取套接字缓冲区是否已满或写入套接字缓冲区是否为空?

有没有办法在没有系统调用的情况下获得套接字缓冲区的状态?

更新:怎么样:当读取套接字缓冲区已满或写入套接字缓冲区为空时,我想获得回调或信号.这样我就可以停止处理以允许在线路上发生更多的I/O,因为在线路上发送数据时,I/O限制总是一个问题.

select()电话是你如何检查是否读缓冲区中有一些东西.不是当它满了(我想).

c sockets

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