我刚刚注册成为iPhone开发人员.什么是"App Id"?这是我公司的名字吗?这只是我的申请名吗?Apple对此并不十分清楚.
谢谢.
我正在尝试构建一个"新客户"表单,所以我使用默认模型绑定器来构建我的Customer对象:
public ActionResult New(Customer customer) { ... }
Run Code Online (Sandbox Code Playgroud)
唯一的问题是我在Customer对象上有一些不需要的属性.当我将这些字段留空时,ASP.NET MVC会自动抛出模型错误,指出"需要一个值".
如何向框架发出这些属性是可选的信号?
Solaris中的某些命令(例如iostat)使用磁盘名称(如sd0或sdd2)报告磁盘相关信息.是否有一致的方法将这些名称映射回标准/ dev/dsk/c?t?d?s?Solaris中的磁盘名称?
编辑:正如Amit所指出的,iostat -n会生成设备名称,例如c0t0d0s0而不是sd0.但是我如何发现sd0实际上是c0t0d0s0?我正在寻找能产生如下列表的东西:
sd0=/dev/dsk/c0t0d0s0 ... sdd2=/dev/dsk/c1t0d0s4 ...也许我可以运行iostat两次(有和没有-n)然后加入结果并希望iostat生成的行数和设备排序在两次运行之间是相同的?
是否可以将对象强制转换为返回的类型GetType()?我想要一个可以接受对象(对于匿名类型)的泛型方法,但然后返回一个对象强制转换为匿名类型.我一直在考虑使用LCG DynamicMethod在容器类上构建一个方法,但我无法弄清楚它会是什么样子.使用该GetType()方法进行强制转换的想法是能够获取匿名类型并将对象强制转换为其实际类型,而无需实际知道类型.
最重要的目标是将匿名类型的对象粘贴到容器中,然后我可以在方法之间共享和传递.
大多数emacs模式都包含某种激活其功能的前缀.例如,当使用GUD时, "next"是"Cc Cn".在这些模式中,许多模式提供了特殊的缓冲区,其中一个可以使用单个键来激活某些功能(例如,只需"n"或"p"来读取GNUS中的下一个/上一个邮件).
然而,并非所有模式都提供这样的缓冲区,并且重复键入前缀可能是令人厌倦的.是否有一个众所周知的elisp位允许在一段时间内对所有输入进行特殊的前缀键规范?(例如,在击中ESC或其他一些受制裁的密钥之前)
有什么区别
private void DoSomething(int value) {
value++;
}
Run Code Online (Sandbox Code Playgroud)
和
private int DoSomething(int value) {
return value++;
}
Run Code Online (Sandbox Code Playgroud)
当用作任何一种
DoSomething(value);
Run Code Online (Sandbox Code Playgroud)
与
value = DoSomething(value);
Run Code Online (Sandbox Code Playgroud) 假设我有一个文件urls.txt,其中包含我正在监控的URL列表.我的监控脚本偶尔会编辑该文件,例如,指示每个URL是否可访问.我还想手动编辑该文件,添加或更改URL列表.我怎样才能允许这样我手动编辑时不必考虑它?
以下是一些可能的答案.你会怎么做?
参与hackery就像让程序检查vim或emacs创建的锁定文件一样.由于这只适合我,这实际上是有效的.
如果人类编辑始终优先,那么只需要总是让人类破坏程序的更改(例如,忽略编辑器警告文件已在磁盘上更改).然后程序可以在下一个循环中重做它的更改.尽管如此,在用户编辑文件时更改文件并不是那么好.
永远不要让人触摸程序正在进行修改的文件.重新思考设计,只有一个文件只有人类编辑,另一个文件只有程序编辑.
为人类提供一个自定义工具来编辑执行相应文件锁定的文件.这可能与锁定文件然后启动编辑器或自定义接口(可能是简单的命令行界面)以插入/更改/删除文件中的条目一样粗糙.
使用数据库而不是平面文件,然后锁定全部自动处理.
(请注意,我编写了URL监控示例,以使其更具体,因为我实际想到的可能是太奇怪和分散注意力 - 这个问题严格来说是关于如何让人类和程序都修改相同的状态文件.)
单行摘要:解除在Silverlight2中UserControl的构造函数中创建的事件处理程序的最佳实践是什么?
背景: 我目前正在Silverlight2中构建业务线应用程序.由于Silverlight是一个浏览器插件,因此没有Window的概念 - 一切都在UserControls中完成.我在应用程序中处理不同"表单"的方式是使用包含Viewbox的顶级用户控件.为了显示不同的表单,我将Viewbox的Child属性设置为不同的UserControls.我的应用程序有一个单独的PageManager类,可以调用它来打开和关闭表单.表单(UserControls)存储在堆栈中.打开一个表单将它放在堆栈的顶部,关闭它将其从堆栈中删除并显示它下面的一个.
我正在尝试遵循Model-View-ViewModel模式.在每种形式(从UserControl派生)中,我有一个ViewModel来管理View的所有数据.ViewModel公开事件,以便在完成加载和保存等操作时通知UI.
在我的表单中,在我获得ViewModel之后,我在构造函数中订阅了该事件
public partial class MyPage : UserControl
{
public MyViewModel ViewModel{get; set;}
// other constructors, which create the viewmodel and call the constructor below.
public MyPage(MyViewModel viewModel)
{
InitializeComponent();
ViewModel = viewModel;
this.LayoutRoot.DataContext = this.ViewModel;
// subscribe to event so we can do stuff
this.ViewModel.LoadCompleted += new MyViewModel.LoadCompletedEventHandler(ViewModel_LoadCompleted);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:现在我订阅了这个事件,我何时删除处理程序?我是否创建了一个析构函数并在那里创建,或者是否会创建一个鸡与蛋的情况,垃圾收集器不会破坏对象直到所有引用(即:事件处理程序)都消失了?我是否创建了一个表单必须实现的接口,该接口指定在PageManager关闭表单时调用的UnhookEvents函数?
编辑:感谢您的回复.ViewModel的持续时间比表单(UserControl)长的情况怎么样?我的应用程序的一部分允许用户创建一个非常复杂的结构,但在95%的情况下,它更简单.我所做的是创建两个使用相同ViewModel的表单.用户可以开始填写简单表单,然后切换到高级模式,这将创建一个新表单,将ViewModel传递给它.
在简单的设置形式:
private void AdvancedSessionSetupButton_Click(object sender, RoutedEventArgs e)
{
PageManager.GetPageManager().Close(this);
PageManager.GetPageManager().Open(new CreateSessionPage(this.ViewModel), "Create Session");
}
Run Code Online (Sandbox Code Playgroud)
在高级设置表单中:
private void BasicSessionSetupButton_Click(object sender, RoutedEventArgs e)
{ …Run Code Online (Sandbox Code Playgroud) 我最近注意到一些我不理解的Visual Studio Designer(C#)的行为,并且想知道是否有人可以澄清......
我的一些Windows窗体,设计器的第一行生成代码读取;
this.components = new System.ComponentModel.Container();
Run Code Online (Sandbox Code Playgroud)
在这种情况下,dispose方法,在同一个设计器文件中,dispose方法在case"if"条件下放置两个"Dispose"调用,如下所示;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
base.Dispose(disposing);
}
}
Run Code Online (Sandbox Code Playgroud)
即,除非disposing为true,否则不调用任何内容,AND组件不为null.
在其他一些表单中,缺少设计器生成代码中的第一行.在这些情况下,base.Dispose调用在"if"条件之外......
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
Run Code Online (Sandbox Code Playgroud)
我已经注意到这一点,同时跟踪一个没有关闭的表单的bug,其中this.components为null,但base.Dispose调用是在那个条件内(我怀疑设计师代码已被篡改但这是另一个故事.
什么控制了这种行为?
(项目中的一些早期形式是在VS 2005中创建的,我们现在使用VS 2008 - 线索?)
c# visual-studio-2005 visual-studio-2008 visual-studio winforms
c# ×4
.net ×1
asp.net-mvc ×1
c++ ×1
casting ×1
digraphs ×1
emacs ×1
events ×1
file-locking ×1
ios ×1
iostat ×1
keyword ×1
locking ×1
modelbinders ×1
monitoring ×1
mvvm ×1
reflection ×1
silverlight ×1
solaris ×1
syntax ×1
trigraphs ×1
unix ×1
utilities ×1
winforms ×1