通常在开发时我遇到了一个嵌套对象,我想从代码中删除这样的代码:
htmlDoc.WriteLine("<b><h3>" + this.cbAllSyncs.SelectedItem.ToString() + "</h3></b>");
Run Code Online (Sandbox Code Playgroud)
我要删除的部分是:
this.cbAllSyncs.SelectedItem.ToString()
Run Code Online (Sandbox Code Playgroud)
我知道我可以计算单词和句点的数量,然后输入7dw从当前光标位置"this"中删除.但是,我喜欢做的事情就是不用计算并用一个命令删除空间.这可能吗?
我试图使用EF与Code First和Web API.在我开始序列化多对多关系之前,我没有任何问题.当我尝试执行下面的web api方法时,我收到以下错误消息:
public class TagsController : ApiController
{
private BlogDataContext db = new BlogDataContext();
// GET api/Tags
public IEnumerable<Tag> GetTags()
{
return db.Tags.AsEnumerable();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"System.Data.Entity.DynamicProxies.Tag_FF17EDDE6893000F7672649A39962DB0CA591C699DDB73E8C2A56203ED7C7B6D"数据合同名称"Tag_FF17EDDE6893000F7672649A39962DB0CA591C699DDB73E8C2A56203ED7C7B6D:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies "预计不会.考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.
我已经阅读了一些SO文章(第1条,第2条),修复是添加以下属性:
[DataContract(IsReference = true)]
但这没有任何效果.同样使用[IgnoreDataMember]也没有效果.唯一可行的选项是将Configuration.ProxyCreationEnabled设置为false.这是我唯一的选择吗?我错过了什么吗?
示例POCO对象:
标签
[DataContract(IsReference = true)]
public class Tag
{
public Tag()
{
this.Blogs = new HashSet<Blog>();
}
[Key]
[DataMember]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
[IgnoreDataMember]
public virtual ICollection<Blog> …Run Code Online (Sandbox Code Playgroud) 我想从我的C#类库中的WinForm项目中获取AssemblyCompany属性.在WinForms中,我可以使用以下方式获取此信息:
Application.CompanyName;
Run Code Online (Sandbox Code Playgroud)
但是,我似乎找不到使用类库获取相同信息的方法.你能提供的任何帮助都会很棒!
我的单元测试中有两个对象,即实际和预期的对象.对象方法的所有属性都完全相同,如果我运行以下测试:
Assert.AreEqual( expectedObject.Property1, actualObject.Property1);
Run Code Online (Sandbox Code Playgroud)
结果按预期传递.但是,当我尝试运行以下测试时,它会失败:
Assert.AreEqual (expectedObject, actualObject);
Run Code Online (Sandbox Code Playgroud)
我错过了什么?可以不比较两个对象,我是否必须对每个属性进行检查?
保护WCF数据服务有哪些选择?服务的开放,RESTful特性是非常有益的,但我需要锁定这些服务,以便只有我的Silverlight和WPF应用程序可以执行针对这些服务的请求.该应用程序将公开发布,但我们的数据和数据模型不是免费供公众使用.
使用VS2010,我似乎无法添加其他测试方法.如果我像这样设置我的项目
[TestMethod]
public void Test1()
{
Assert.AreNotEqual(0,1);
}
[TestMethod]
public void Test2()
{
Assert.AreNotEqual(0,1);
}
Run Code Online (Sandbox Code Playgroud)
我的测试视图中显示的唯一测试是Test1.如何确保Test2进入该列表?
编辑: 未初始创建的其他测试未添加到测试列表中.因此,如果我在运行测试后添加Test3,则不会添加Test3.
我有一些我想要实现的目标,但我不确定如何到达目的地:
从这篇文章:
http://encosia.com/automatically-minify-and-combine-javascript-in-visual-studio/
我已经添加了JSMin来使用如下命令来缩小我的文件:
"$(SolutionDir)Tools\jsmin.exe" < "$(ProjectDir)Scripts\myfile.js" > "$(ProjectDir)Scripts\myfile.min.js"
Run Code Online (Sandbox Code Playgroud)
我还将这个添加到我的网页中,以便在调试模式下保留非缩小文件:
<% if (HttpContext.Current.IsDebuggingEnabled) { %>
<script type="text/javascript" src="scripts\myfile.js"></script>
<% } else { %>
<script type="text/javascript" src="scripts/myfile.min.js"></script>
<% } %>
Run Code Online (Sandbox Code Playgroud)
所以我真的想知道如何防止myfile.min.js在更新时被Web浏览器视为静态内容.如果我的目标不是单击部署,我可以手动添加版本号,但这似乎不是一个可靠的方法.思考?
我是StackOverflow的新手,所以如果有更好的方法可以提出以下问题,请告诉我.
我需要创建一个正则表达式来检测数据库中的字段是否为数字,如果是数字,则它是否在有效范围内(即1-50).我已经尝试过了[1-50],除了单个数字前面有一个0(即06)的情况之外.06仍应被视为有效数字,因为我可以稍后将其转换为数字.
我真的很感谢你的帮助!我正在努力学习更多关于正则表达式的知识,并且我一直在学习:www.regular-expressions.info.如果你们有其他网站推荐这些东西,我会很感激!
如果我使用以下行:
shutil.copyfile(r"\\mynetworkshare\myfile.txt","C:\TEMP\myfile.txt")
Run Code Online (Sandbox Code Playgroud)
一切正常.但是,我似乎无法弄清楚如何使用带有网络共享路径的变量,因为我需要'r'(相对?)标志.我想象的最终结果将是:
source_path = "\\mynetworkshare"
dest_path = "C:\TEMP"
file_name = "\\myfile.txt"
shutil.copyfile(r source_path + file_name,dest_path + file_name)
Run Code Online (Sandbox Code Playgroud)
但我对这种方法的不同变化没有运气.
我正在开发一个Windows 7应用程序,并运行一些例程目录创建代码:
string dirPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MyDir");
if (!Directory.Exists(dirPath))
Directory.CreateDirectory(dirPath);
Run Code Online (Sandbox Code Playgroud)
问题是,当我无法通过命令行和Windows资源管理器查看目录时,Directory.Exists行返回true.使用Windows XP时,这不是问题.Windows 7是否有一些我不知道的事情?
编辑:添加了Path.Combine