我正在使用LinqKit库,它允许动态组合表达式.
这是编写Entity Framewok数据访问层的纯粹幸福,因为可以选择重复使用和组合多个表达式,这样就可以实现可读和高效的代码.
请考虑以下代码:
private static readonly Expression<Func<Message, int, MessageView>> _selectMessageViewExpr =
( Message msg, int requestingUserId ) =>
new MessageView
{
MessageID = msg.ID,
RequestingUserID = requestingUserId,
Body = ( msg.RootMessage == null ) ? msg.Body : msg.RootMessage.Body,
Title = ( ( msg.RootMessage == null ) ? msg.Title : msg.RootMessage.Title ) ?? string.Empty
};
Run Code Online (Sandbox Code Playgroud)
我们声明了一个投射Message到的表达式MessageView(为了清楚起见,我删除了细节).
现在,数据访问代码可以使用此表达式来获取单个消息:
var query = CompiledQueryCache.Instance.GetCompiledQuery(
"GetMessageView",
() => CompiledQuery.Compile(
_getMessagesExpr
.Select( msg => _selectMessageViewExpr.Invoke( msg, userId ) ) …Run Code Online (Sandbox Code Playgroud) 您可能会认为这是一个错误报告,但是我很好奇我是否在这里非常错误,或者是否有来自Eric或Microsoft的其他人的解释.
现在,这是作为 Microsoft Connect上的错误发布的.
考虑以下课程:
class A
{
public object B {
set { }
}
}
Run Code Online (Sandbox Code Playgroud)
这里A.B是一个只写但其他方面很好的属性.
现在,想象一下我们在表达式中分配它:
Expression<Func<A>> expr =
() => new A {
B = new object { }
};
Run Code Online (Sandbox Code Playgroud)
此代码使C#编译器(3.5 .30729.4926和4.0 .30319.1)吐出
内部编译器错误(地址013E213F处的0xc0000005):可能的罪魁祸首是"BIND".
和崩溃.
但是,仅{ }使用构造函数(( ))替换对象初始化程序语法()就可以了.
using System;
using System.Linq.Expressions;
class Test {
public static void Main()
{
Expression<Func<A>> expr =
() => new …Run Code Online (Sandbox Code Playgroud) c# compiler-construction expression-trees writeonly compiler-bug
我有一个简单的HTML结构(jsfiddle):
<li>
<div class="buttons">
<a href="done"><img src="done.png"></a>
</div>
<div class="owners">
???? ??????? ? ???? ????????
</div>
<div class="text">
?????-???? ?????-???? ?????-???? ?????-????
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
buttons,owners并text有display: inline-block.
当text相当小时,这看起来很好:

但是,随着文本的增长,inline-block元素会延伸并最终落在该行上:

这很难看,我想避免这种情况.
我想要实现的是:

当文本太大而无法放入元素内部时,我希望它被行包裹.
我尝试设置float: left元素,但无法使它工作.
使用HTML和CSS(没有表格)执行此操作的正确方法是什么?
我读到Redux Thunk是管理异步操作/请求的可靠方法.没有太多关于通过其他行动调度行动的事情.
如何调度同步动作?我不确定thunk方法的性能问题,但是我可以在其他动作创建者中调度动作而不在其中定义函数吗?
在我看来,使用redux thunk对于这种需求是不必要的.
我正在考虑使用currying和其他技术Function.prototype.bind.在某些情况下
改变功能范围(即this值)似乎非常有用.
function f = obj.method.bind(42);
function g = obj.method.bind('Hi');
function f2 = f.bind('Hi'); // “this” is still 42
Run Code Online (Sandbox Code Playgroud)
是否可以从绑定函数中检索原始的未绑定函数?
在后台线程中,我的应用程序需要从磁盘读取图像,将它们缩小到屏幕大小(1024x768或2048x1536)并将它们保存回磁盘.原始图像主要来自相机胶卷,但其中一些可能具有较大的尺寸(例如3000x3000).
稍后,在不同的线程中,这些图像将经常缩小到500x500左右的不同大小并再次保存到磁盘.
这让我想知道:在iOS,性能和内存方面,最有效的方法是什么?我使用了两种不同的API:
CGImageSource和CGImageSourceCreateThumbnailAtIndex从ImageIO;CGBitmapContext并将结果保存到磁盘CGImageDestination.两者都适合我,但我想知道他们在性能和内存使用方面是否有任何差异.如果有更好的选择,当然.
我正在开发一个包含多个类库,数据库模型和ASP .NET MVC网站项目的中型项目.但是,即使解决方案中的项目少于15个,我经常会发现自己正在折叠和扩展无限的文件夹以查找某个类或视图.
虽然寻找类主要通过Resharper 类型导航功能解决,但我经常想在MVC项目中切换到某个视图.我不记得文件名,它不会解决这个问题或者是因为有与相同的文件名多视图(例如Message\ViewSingle.cshtml,Product\ViewSingle.cshtml).
我更想要的是能够"喜欢"某些文件,项目或文件夹,以便它们显示在单独的类似Solution Explorer的窗口上以便快速访问.
是否有这样的扩展(免费)?
@samy 指出,Sergey Vlasov的Favorite Documents扩展允许通过菜单栏快速访问,我通常倾向于隐藏它,并且更喜欢可停靠的窗口解决方案,所以我仍然在寻找.我写了谢尔盖,以了解他是否打算使用这个功能.
我刚刚收到谢尔盖的一封信,他给我指的是最喜欢的文件1.1有一个专门的窗口.所以我接受samy的回答.
projects-and-solutions visual-studio-2010 visual-studio solution-explorer visual-studio-extensions
我想在我的手机中禁用双指滚动UIScrollView.
我将其子类化并使用以下代码调整其内置手势识别器:
for (UIGestureRecognizer *mgestureRecognizer in scroller.gestureRecognizers) {
if ([mgestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]])
{
UIPanGestureRecognizer *mpanGR = (UIPanGestureRecognizer *) mgestureRecognizer;
mpanGR.minimumNumberOfTouches = 1;
mpanGR.maximumNumberOfTouches = 1;
}
if ([mgestureRecognizer isKindOfClass:[UISwipeGestureRecognizer class]])
{
UISwipeGestureRecognizer *mswipeGR = (UISwipeGestureRecognizer *) mgestureRecognizer;
mswipeGR.numberOfTouchesRequired = 1;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,maximumNumberOfTouches似乎没有用.我仍然可以用一根或两根手指滚动.如果我将两个属性都更改为2,我可以成功禁用单指滚动并需要两次触摸.
有任何想法吗?
我买了一台新的Retina MacBook Pro,用于开发适用于iOS的MonoTouch.
非常令人沮丧的是,可能因为它是基于Gtk#构建的,MonoDevelop非常模糊.

我可以应对模糊的UI,但我无法读取或编写代码,因为它会伤害我的眼睛.
在Gtk#和MonoDevelop中Retina支持的现状如何?
是否有任何(实验性)编译标志至少能够实现正确的代码渲染?
如果我想贡献,哪个组件负责这个?它是Gtk#还是Gtk本身?
我一直在使用React + Flux应用程序中的乐观更新,并看到两件事:
因此,我致力于此并创建一个ActionStore来管理由组件触发的操作的状态.这是源代码,这是一个现场演示.
它的工作方式或多或少是这样的:
我这样做主要是为了将"实体"的状态与动作的状态分开,但允许具有相同有效负载的重新触发操作(如果服务器临时关闭或者如果我们收到500响应状态,这可能很有用用户松动的信号).
此外,拥有操作存储允许在用户注销或关闭窗口之前轻松询问它们是否为待处理操作.
注意:我正在使用针对Rest API的单应用程序页面Web应用程序,我不认为在服务器端呈现时使用它
这是一个可行的选择创建一个ActionStore或我打破一些Redux/Flux基础?这可能会结束使用React Hot Reloading和Time travel的可能性吗?
你应该毫不留情地回答,我可能做了一堆丑陋的事情,但我正在学习React/Redux.
javascript ×3
c# ×2
redux ×2
bind ×1
cgimage ×1
closures ×1
compiler-bug ×1
css ×1
css-float ×1
ecmascript-5 ×1
flux ×1
function ×1
gtk# ×1
html ×1
ios ×1
lambda ×1
linqkit ×1
monodevelop ×1
objective-c ×1
reactjs ×1
redux-thunk ×1
uiscrollview ×1
writeonly ×1
xamarin ×1
xamarin.ios ×1