我上课了CollectionOfThings.顾名思义,它是一个简单的Thing类实例集合. Thing类有一个公共的默认构造函数和两个简单的公众获取,设置属性ID和DisplayName,两者都是字符串. CollectionOfThing也有公共默认构造函数.
在XAML中我想使用这样的标记: -
<Grid.Resources>
<local:CollectionOfThings x:Key="Things">
<local:Thing ID="1" DisplayName="Hello" />
<local:Thing ID="2" DisplayName="World" />
<local:CollectionOfThings>
</Grid.Resources>
Run Code Online (Sandbox Code Playgroud)
只要CollectionOfThings派生自Collection类型,一切都很好.但是我想CollectionOfThings也是一个DependencyObject.我认为这很好创造的实现ICollection<T>,INotifyCollectionChanged等等并不难.然后我可以从中衍生出来DependencyObject.
不幸的是ICollection<T>,由于某种原因不会削减它.随着ICollection<Thing>我得到'CollectionOfThings不支持Thing作为内容'.回去Collection<Thing>,一切正常,但没有DependencyObject实现让我离开.
有人建议吗?
我在jQuery中看到类似这样的东西:
jQuery.fn = jQuery.prototype = {}
Run Code Online (Sandbox Code Playgroud)
为什么这样做?这是不是只是说jQuery.prototype = {}?我不确定我是否理解Resig在这里所做的事情.
在他的" 极限编程应用"一书中,肯·奥尔随便提到了一种启动器模式.肯特贝克也提到它(至少在2004年11月8日的电子邮件中),但我没能在通常的地方找到任何细节(谷歌,在c2.com的维基等)
哪里可以找到更多?
我是Ruby on Rails/PHP的人,我的公司让我使用ASP.NET.这并不算太糟糕,我很高兴学习一门新语言,但自从我开始使用这项技术以来,每个人都在困扰着中继器.
问题是我完全没有看到重点:使用转发器比仅仅在循环中显示内容更好吗?我是为了这个而去找程序员的地狱吗?
在轨道我会做...
调节器
@types= Type.find(:all)
Run Code Online (Sandbox Code Playgroud)
视图
<%@types.each do |t| %>
<%= t.name %> <%= link_to "view", t%>
<%end%>
Run Code Online (Sandbox Code Playgroud)
在ASP.NET中我会这样做:
控制器类属性
protected List<Type> _types = null;
Run Code Online (Sandbox Code Playgroud)
控制器类PageLoad
_types = MethodThatGetTypeFromDB();
Run Code Online (Sandbox Code Playgroud)
视图
<% foreach (var tin _types){%>
<%= t.name %>
<%}%>
Run Code Online (Sandbox Code Playgroud)
没有中继器,但代码是干净的,DRY并且尊重MVC AP.我不会在ItemDataBound任何地方创建方法来处理或等等.那么这里的想法是什么?我是唯一一个发现中继器设置起来很痛苦并且与它们带来的优势相比不值得的人吗?
我想我不是在这里得到这个想法.
我并不是想开始与世界战斗,只是这就是我所知道的最好的,所以这就是我在开发时想要找到的范例.我认为它更方便,我已经习惯了,但是如果有人说"中继器很好,因为A,B和C,做你正在做的事情很糟糕,因为D,E和F",那我就承认了并改变我的方法.
在最近开始一份新工作之前,他主要是一名.NET员工; 我只在C#/ .Net中完成了Web服务的开发和使用.然而,我正在开始学习在J2EE平台上进行此操作的细节,我很好奇这种特定类型的开发中的主要差异是什么.
注意:我熟悉控制台/简单接口级别的Java语言,但没有太多使用它的"如何组建功能性Web服务架构"的经验.
更新:到目前为止很棒的答案,我只是想补充一点,然而在简单的Web服务类结构中,它们似乎没有显示太多差异; 但是从把所有这些与数据库逻辑放在一起并实际托管它的角度来看 - 让服务运行和工作/如何与之交互.
我有一个批处理文件,它将调用Powershell脚本:
批处理文件: @ECHO OFF powershell ..\PowerShellScript.ps1
powershell脚本又有一个需要参数的函数:
POWERSHELL SCRIPT:
function PSFunction([string]$Parameter1)
{
Write-Host $Parameter1
}
Run Code Online (Sandbox Code Playgroud)
假设我有一个值:VALUE1需要在调用PowerShellScript.ps1时从批处理文件传递,如何将其传递给函数PSFunction以使我的输出为VALUE1?
简介:在使用JavaScriptSerializer.Deserialize时,如何将JSON数据中的字段名称映射到.Net对象的字段名称?
更长版本:我从服务器API(未在.Net中编码)向我发送以下JSON数据
{"user_id":1234, "detail_level":"low"}
Run Code Online (Sandbox Code Playgroud)
我有以下C#对象:
[Serializable]
public class DataObject
{
[XmlElement("user_id")]
public int UserId { get; set; }
[XmlElement("detail_level")]
public DetailLevel DetailLevel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
其中DetailLevel是一个枚举,其中"低"作为其中一个值.
此测试失败:
[TestMethod]
public void DataObjectSimpleParseTest()
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
DataObject dataObject = serializer.Deserialize<DataObject>(JsonData);
Assert.IsNotNull(dataObject);
Assert.AreEqual(DetailLevel.Low, dataObject.DetailLevel);
Assert.AreEqual(1234, dataObject.UserId);
}
Run Code Online (Sandbox Code Playgroud)
最后两个断言失败,因为这些字段中没有数据.如果我将JSON数据更改为
{"userid":1234, "detaillevel":"low"}
Run Code Online (Sandbox Code Playgroud)
然后它通过.但我不能改变服务器的行为,我希望客户端类在C#语言中具有良好命名的属性.我不能使用LINQ to JSON,因为我希望它在Silverlight之外工作.看起来XmlElement标签没有任何效果.我不知道我在哪里知道它们是相关的,它们可能不是.
你如何在JavaScriptSerializer中进行字段名称映射?它可以完成吗?
我在我的项目中添加了一个批处理(.bat)文件.我想为批处理文件添加一个新的编辑器,它将在命令提示符窗口中实际执行此批处理文件.
我做了什么,但不记得我的编辑:
当我再次打开相同的Open with ...对话框时,我的编辑器不存在.
我应该怎么解决这个问题?
我使用"转到定义"跳转到Visual Studio中的代码文件中的一行.我现在迷失在文件中,我想回到之前的路线.我该怎么做?
鉴于我在部署时不知道我的代码将运行什么类型的系统,我如何编写一个使用系统潜力作为衡量标准的性能基准测试.
我的意思是,如果一个系统能够每秒运行1000次代码,我希望测试确保尽可能接近1000.如果它只能做500,那就是我想比较它的速度.
如果它有助于使答案更具体,我正在使用JUnit4.
谢谢.
c# ×4
batch-file ×2
.net ×1
asp.net ×1
java ×1
java-ee ×1
javascript ×1
json ×1
junit4 ×1
parsing ×1
powershell ×1
repeater ×1
silverlight ×1
syntax ×1
unit-testing ×1
variables ×1
web-services ×1
webforms ×1
xaml ×1