我正在打电话:
myResult = MakeMyCall(inputParams, out messages);
Run Code Online (Sandbox Code Playgroud)
但我实际上并不关心这些消息.如果它是一个输入参数我不关心我只是传入一个null.如果是回归我不关心我只是把它关掉.
有没有办法用out做类似的事情,或者我是否需要声明一个我将忽略的变量?
如果我有一些文件要从我的项目复制到.\bin\debug\
编译文件夹中,那么我似乎必须把它们放到项目的根目录中.将它们放入子文件夹似乎将它们复制到.\bin\debug\
与它们存储在同一结构中的文件夹中.
有什么方法可以避免这种情况吗?
只是要清楚:如果我有一个MyFirstConfigFile.txt
和MySecondConfigFile.txt
一个在ConfigFiles
文件夹和我设置其复制到输出是复制...,那么他们出现在.\bin\debug\ConfigFiles\
文件夹中.我希望它们出现在.\bin\debug\
文件夹中.
我有一个CheckedListBox,我想自动勾选其中的一个项目.
该CheckedItems
集合不允许您向其添加内容.
有什么建议?
我想知道的是,是否可以(例如)走向堆栈帧,检查每个调用对象以查看是否匹配接口,如果是,则从中提取一些数据.
是的,我知道这是不好的做法,我想知道是否有可能.
例如,如果我想调用以下内容:
person.Head.Nose.Sniff()
那么,如果我想要安全,我必须执行以下操作:
if(person != null)
if(person.Head != null)
if(person.Head.Nose != null)
person.Head.Nose.Sniff();
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来制定这个表达式?
如果我有一个VS 2005解决方案,那么它会显示为"Version:Visual Studio 2005".如果我有一个VS 2010解决方案,则sln文件显示为与此相关.
它们都有.sln后缀.那么Windows如何知道用哪个版本的VS打开它呢?
我想要做的是将lambda语法与"params"结合起来对一系列对象执行操作.
假设我想让一堆控件不可见.
经过一番摆弄后,我最终得到了一个扩展方法:
public static void On<T>(this Action<T> actionToCarryOut,params T[] listOfThings)
{
foreach (var thing in listOfThings)
{
actionToCarryOut(thing);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我可以创建一个动作:
Action<Control> makeInvisible = c => c.Visible = false;
Run Code Online (Sandbox Code Playgroud)
然后调用它:
makeInvisible.On(control1,control2, control3,control4);
Run Code Online (Sandbox Code Playgroud)
这不是很好的语法 - 它感觉非常笨拙.
我可以在我的基类中创建一个方法"Apply":
protected void Apply<T>(Action<T> action, params T[] appliedTo)
{
foreach (var item in appliedTo)
{
action(item);
}
}
Run Code Online (Sandbox Code Playgroud)
然后像这样调用它:
Apply<Control>(
c => c.Visible = false,
control1,
control2,
control3,);
Run Code Online (Sandbox Code Playgroud)
但这意味着在我需要的每个基类中重复该方法,并且我失去了类型推断的优势.
这样做有一种不那么笨拙的方式吗?
编辑:到目前为止我见过的最好的方法是流畅的方法,(通过一些调整)将允许我写:
Apply.Method((Control c) => c.Visible = false).To(
control1,
control2,
control3,
control4};
Run Code Online (Sandbox Code Playgroud)
这是91个字符,而使用简单的"foreach"则为107个字符.这让我相信"foreach"可能实际上是最好的方法!
我正在尝试使用Angular Bootstrap中的modal指令弹出一个对话框,更改一个值(传入),然后检索它.
但是,由于某种原因,该值永远不会在范围内更新.而且,事实上,如果我进行"更改"并在其中加入断点,似乎由于某种原因创建了另一个范围的范围.
我在这里创建了一个plunker:http://plnkr.co/edit/Vy6gLgOJbWcLsHJtaGpV?p = preview
我为此感到困惑.有任何想法吗?
在文本框中显示将属性Enabled
设置为false或只读设置为true的文本会在灰色文本上生成黑色,这根本不是很好阅读.
在Windows窗体中显示只读文本的最简单方法是什么?