我试图在代码契约中展示不变量,我想我会给出一个排序的字符串列表的例子.它在内部维护一个数组,有额外的空间用于添加等 - 就像List<T>
基本上一样.当它需要添加一个项目时,它会将它插入到数组中,等等.我想我有三个不变量:
现在,我试图以这种方式实现它:
[ContractInvariantMethod]
private void ObjectInvariant()
{
Contract.Invariant(count >= 0 && count <= buffer.Length);
for (int i = count; i < buffer.Length; i++)
{
Contract.Invariant(buffer[i] == null);
}
for (int i = 1; i < count; i++)
{
Contract.Invariant(string.Compare(buffer[i], buffer[i - 1]) >= 0);
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,ccrewrite
搞乱了循环.
用户文档说该方法应该是一系列调用Contract.Invariant
.我是否真的必须像这样重写代码?
Contract.Invariant(count >= 0 && count <= buffer.Length);
Contract.Invariant(Contract.ForAll
(count, buffer.Length, i => buffer[i] == null));
Contract.Invariant(Contract.ForAll
(1, count, i => string.Compare(buffer[i], …
Run Code Online (Sandbox Code Playgroud) invariants .net-4.0 code-contracts visual-studio-2010-beta-1
我在C#应用程序中有几种形式.我使用Visual Studio 2010 Beta,但是使用.NET 3.5和C#3.
我有一个基本形式,在Shd命名空间中称为FilteredQueryViewForm,我想要一些其他形式来继承它(因为它们基本上会做同样的事情,但有一些补充).
我在FilteredQueryViewForm类中将内容从private更改为protected,因此可以从派生表单中访问它们.在此之后,我创建了一个派生表单,并将基类设置为FilteredQueryViewForm.
派生类的设计者抱怨Shd.FilteredQueryViewForm没有任何构造函数......不管它有一个具有3个参数的事实.我认为参数可能是一个问题,所以我也创建了一个没有参数的(公共的,当然)构造函数,但它仍然不起作用.错误消息是相同的:
"找不到类型'Shd.FilteredQueryViewForm'的构造函数."
并且派生类的设计者不会加载.我已经尝试重新启动vs2010beta,重新创建派生表单,但似乎没有任何帮助.谷歌在这个问题上没有给我带来任何有用的结果.:(
这是Visual Studio 2010 Beta的问题吗?或者我做错了什么?
我需要指定我的T4使用C#4.0来渲染我的tt文件?我试过用
<#@ template language="C#v4.0" debug="true" #>
Run Code Online (Sandbox Code Playgroud)
但是当我使用动态变量时,就像这样
dynamic x=10;
Write(x.ToString());
Run Code Online (Sandbox Code Playgroud)
我收到这些错误
Error 2 Compiling transformation: Predefined type 'Microsoft.CSharp.RuntimeBinder.CSharpSetMemberBinder' is not defined or imported e:\projects\DynamicModel\DynamicModel\ModelGenerator.tt 1 1
Error 3 Compiling transformation: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpInvokeMemberBinder..ctor' e:\projects\DynamicModel\DynamicModel\ModelGenerator.tt 1 1
Error 4 Compiling transformation: Missing compiler required member 'System.Runtime.CompilerServices.CallSite.Create' e:\projects\DynamicModel\DynamicModel\ModelGenerator.tt 1 1
Error 5 Compiling transformation: One or more types required to compile a dynamic expression cannot be found. Are you missing references to Microsoft.CSharp.dll and System.Core.dll? e:\Projects\DynamicModel\DynamicModel\ModelGenerator.tt 7 8
Error 6 …
Run Code Online (Sandbox Code Playgroud) 我安装了Visual Studio 2010 beta 1,然后删除了.现在,当我尝试在Visual Studio 2008中创建一个项目时.我收到错误"没有为在"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\TOolsVersions\4.0"中定义的ToolsVersion"4.0"指定MSBUildToolsPath,或者指定的值评估到空字符串".如何将ToolsVersion更改为"3.5",这样可行吗?
Kevin Hoffman今早报道:
当置于运行Windows 7的虚拟机下时,VS2010无法呈现内容,边框消失,窗口无法使用,体验非常糟糕.另一方面,当你运行VS2010"裸机"而它与你的显卡之间没有虚拟化时,一切都很美观,一切运行良好.
虚拟机怎么会导致VS2010的WPF渲染效果不佳?
wpf rendering virtual-machine visual-studio-2010 visual-studio-2010-beta-1
我想在Win7上与2008版本并行安装Visual Studio 2010.这会引起一些问题吗?
嗨,我需要以编程方式获取与所选变更集关联的工作项列表.到目前为止,我已经能够使用Artifacts的概念获取与工作项ID相关联的变更集,并使用以下方法获取与特定构建相关联的变更集和/或工作项:
InformationNodeConverters.GetAssociatedChangesets()和InformationNodeConverters.GetAssociatedWorkItems()分别.
我正在使用VSTS 2010 beta 1.任何人都知道解决方案吗?