我刚看到VSCommands扩展,它有一些非常漂亮的功能.但是我现在正在运行ReSharper 5.这两个扩展之间是否会有任何不良的交互?
过去几周我一直在使用Silverlight涉足WCF RIA,我发现使用它生成设计良好的软件非常困难.我的印象是,它是一种最适合"快速应用程序开发",原型设计和花哨的演示的工具.
举个例子,为了充分利用RIA,我发现你几乎必须从头到尾依赖你的数据模型.WCF RIA的最佳功能(如端到端验证和EF集成)要求您尽可能地呈现实体框架数据模型,一直到您的表示层.这就排除了使用服务层模式,数据映射器或DTO 设计软件的可能性.由于EF的限制,我也发现自己正在努力(迄今无济于事)创建一个具有真正域模型的应用程序.
代码生成的东西很好,我可以看到它节省了我的时间,除了它不支持像多对多关系这样的基本场景.这使得我必须通过暴露中间外键表来通过EF公开我的更多数据库实现细节.
除了这些问题之外,众所周知WCF RIA几乎不可能进行测试.DomainContext类不会隐藏在接口后面,由于更改跟踪和其他细微之处,这样做非常困难.在我看到的每一个案例中,ViewModel最终都直接依赖于DomainContext实现.即使这种依赖是构造函数注入它也没有意义,因为它无法合理地被嘲笑.
所以我想我的问题是双重的:WCF RIA是否强制执行糟糕的设计?如果是这样,有没有合理的解决方法,最终我失去了平台的大部分优势?如果没有,有人能指出一些文献,展示如何使用WCF RIA基于可靠的模式生成优秀的设计吗?
我有一个WPF表单,其中ListBox的项目绑定到一个方法,该方法获取列表框的项目.我想要的是ListBox顶部的一个额外项目,其行为与其他项目不同.
例如,假设我有一个作者列表(数据绑定到列表),当我选择一个作者时,它会使用该作者的书籍填充另一个列表框.我想在lstAuthors列表框中添加一个标题为"全部显示"的附加项目,该列表将使用所有书籍填充其他列表框.如何将此附加项添加到列表框中?
我有一个看起来像的文件
<root>
<element>
<subelement1 />
<subelement2 />
</element>
<element>
<subelement2 />
<subelement1 />
</element>
</root>
Run Code Online (Sandbox Code Playgroud)
在我的XSLT表中,/element[2]/[someNode]我希望得到一个代表距离的数字/element[1]/[someNode](即前面兄弟的数量/element1/[someNode]).例如,在的情况下/element[2]/subelement1,我想有一些办法让数字2,从远处/element[1]来/element[1]/subelement2.我只需要第一个实例的给定节点名称的距离<element>.
我直觉地认为我可以构建它
<xsl:variable name="nodename" select="name()" />
<xsl:value-of select="/element[1]/$nodename/preceding-sibling::*" />
Run Code Online (Sandbox Code Playgroud)
但不幸的是这张表没有编译.我想在XSLT中实现什么?
我正在将数据库导入Entity Framework,我遇到了多对多关系的问题,如下所示:

我的理解是,如果"连接表"(中间的一个)只包含两个字段(外键),那么EF将自动删除中间表并创建多对多关系.不幸的是我无法控制数据库模式,所以有人知道是否有办法手动复制该行为?
为了记录,Employee_Employee_Type中的Id字段背后没有任何用途,它的设计很差.
我有一个WPF应用程序,必须为具有相同设置的计算机的所有用户运行.必须读/写设置.例如,我以前一直在CommonApplicationData中存储用户配置设置
var settingsFile = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.CommonApplicationData),
"[company]", "[product]", "settings.xml");
Run Code Online (Sandbox Code Playgroud)
但是我今天早上读到的CommonApplicationData用于漫游配置文件,这意味着它们不是特定于机器的.根据我的发现,我们有以下应用程序数据选项(来源):
// Store application-specific data for the current roaming user.
// A roaming user works on more than one computer on a network.
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on.
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
// Store in-common application-specific data that is used by all users.
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
// Store application-specific data …Run Code Online (Sandbox Code Playgroud) 使用以下C代码
void func() {
int a=1,b=2,c=3;
}
Run Code Online (Sandbox Code Playgroud)
使用gcc -S -O -o- myfile.c我得到输出进行编译
.file "myfile.c"
.intel_syntax noprefix
.text
.globl func
.type func, @function
func:
push ebp
mov ebp, esp
sub esp, 16
mov DWORD PTR [ebp-4], 1
mov DWORD PTR [ebp-8], 2
mov DWORD PTR [ebp-12], 3
mov DWORD PTR [ebp-16], 4
mov DWORD PTR [ebp-20], 5
leave
ret
.size func, .-func
.ident "GCC: (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5"
.section .note.GNU-stack,"",@progbits
Run Code Online (Sandbox Code Playgroud)
在这里我希望之后的第三行func:是sub esp,12不是sub esp,16.我在函数中使用了不同数量的自动变量,发现它以16字节为增量增长.为什么会这样?这是在所有平台上发生,还是特定于平台?
我目前正在使用OSX运行Intel …
我正在为Eclipse创建一个编辑器.现在编辑器启动,用户创建一个具有适当扩展名的新文件.我的问题是,如何获得文件所在项目的引用?例如,假设我有一个包含2个项目的工作区,P1和P2.我右键单击P2并创建一个新文件,我能以某种方式从这里获得对P2的引用吗?
最后我需要引用项目的AST或Java模型,但即使是一个标识项目的字符串也可以工作.
我需要从我的c#.NET应用程序中的URL启动媒体文件.有没有办法在.NET中本地执行此操作?我不需要嵌入式播放器,我只需要默认播放器即可启动.我试过了
System.Diagnostics.Process.Start("File URL");
Run Code Online (Sandbox Code Playgroud)
但它会启动默认浏览器并下载文件,而不是尝试在WMP/VLC中播放它/无论默认媒体播放器是什么.有任何想法吗?
我需要在进行绑定时验证异常.这可能是使用Caliburn.Micro吗?
现在我的代码看起来像
<TextBox x:Name="FirstName" />
Run Code Online (Sandbox Code Playgroud)
但我没有对异常进行验证.如果我改成它
<TextBox Text="{Binding FirstName, Mode=TwoWay, ValidatesOnExceptions=True}" />
Run Code Online (Sandbox Code Playgroud)
然后我得到了适当的验证,但失去了基于约定的良好绑定.有任何想法吗?
我遇到的情况是我需要在视图模型中触发一些IResults,而不会触发视图中的动作.如果我使用Coroutine.Execute(MyActions().GetEnumerator()),ActionExecutionContext则不包含有关我的视图的信息.有没有办法可以解决这个问题?