StreamWriter.Close()表示它还会关闭StreamWriter的底层流.那么StreamWriter.Dispose呢?Dispose是否也处置和/或关闭底层流
我已经制作了这个社区Wiki,因为有些人可能认为它可以辩论,其他人可能会认为这是一个用词来表示他们真正意义的问题(换句话说,这是一个意见问题,这是一个意见问题).
关于声明性编程的SO有一个普遍的问题,它有一些很好的答案.
但是我对微软福音传道者的这篇博文有点不满.
声明性编程的一个优点是,您可以指出您想要做什么,而不是如何做.
到目前为止,这么好 - 事实上,这与SO问题上接受的答案完全一致.
但是请查看有关"服务实施"的部分,
您可以查看几十行xaml代码,并能够确定如何配置WCF服务以及如何定义相应的工作流.
看了一些例子后,让我简单回答一下,说"不,我不能".但是,不要轻率地解雇这些东西,让我们看看文档.
这需要一段时间,但最终现实已经赶上了讽刺 ......但这不是重点 - 当然他们并没有认真地建议这样做来揭露像添加这样的微不足道的东西.我也不是在抱怨荒谬的冗长,以及任何人都会手写这样的东西的奇怪想法 - 它看起来更像是编译器的输出而不是人类可读的语言.
对我来说,难题是声称这是"声明性的".然而它的核心是一个任务声明.
还有更多:
声明性服务在XAML中以声明方式定义,并提供另一层抽象.基本上,您可以通过定义服务要执行的操作而不是如何执行操作来创建服务模型.整个服务可以以声明方式定义,包括操作的实现.
因此,如果我们说声明性或声明性三次,那就使它成为声明性的.疑难杂症.如果我们说出"你想做什么而不是怎么做"的神奇短语,那么我们可以忽略一点,在下一句话中,我们将指定"操作的实施",所以我们我会准确地说明如何做到这一点.
该页面中的示例是:
<wma:Sequence>
<wma:WriteLine Text ='[String.Concat(String.Concat(String.Concat(String.Concat("Add(", CType(op1, Object)), ","), CType(op2, Object)), ") called")]' />
<wma:Assign x:TypeArguments="xs:Int32" To="[result1]" Value="[op1 + op2]" />
</wma:Sequence>
Run Code Online (Sandbox Code Playgroud)
也就是说,整个事情(包括我从WF示例中删除的大量垃圾)恰恰相当于:
void Add(int op1, int op2, out int result1)
{
Console.WriteLine("Add(" + op1 + ", " + op2 + ") called");
result1 = op1 + op2; …Run Code Online (Sandbox Code Playgroud) 我知道有一个技巧,当你在Eclipse中快速键入代码时,你可以点击一些秘密密钥,它会自动完成缺少的部分.谁知道他们?
例如:我有一些非常有变化的变量,但是我开始输入一些非常有效的东西,但是没有任何反应.只有当我输入方法名称时,才会出现一个想要帮助我的黄色框.
我正在使用文档查看器和XPS atm,因为我之前没有尝试过.所以我有一段简单的代码加载XPS文档并在文档查看器中显示它,但是文档没有出现.文档查看器加载并在调试模式下快速一步,告诉我信息在那里,它只是不会显示.
dvDoc = new DocumentViewer();
string fileName = null;
string appPath = System.IO.Path.GetDirectoryName(Assembly.GetAssembly(typeof(DocumentWindow)).CodeBase);
if (type == "About")
fileName = appPath + @"\Documents\About.xps";
fileName = fileName.Remove(0, 6);
XpsDocument doc = new XpsDocument(fileName, FileAccess.Read);
dvDoc.Document = doc.GetFixedDocumentSequence();
Run Code Online (Sandbox Code Playgroud)
我能找到的所有文献都告诉我这样做,但它似乎对我不起作用.我知道文档查看器不喜欢URI,因此是filename.remove行.
关于我缺少什么的任何建议.
干杯,SumGuy
我正在用C#制作游戏,我想展示对手的进度(动作等等).所以我通过TCP协议将游戏中的事件发送给对手.
我已经在localhost上尝试了我的应用程序,但是当我尝试使用我的外部地址以便通过互联网进行通信时,我在TcpInformer.Connect()类中收到以下错误:
连接尝试失败,因为连接方在一段时间后未正确响应,或建立的连接失败,因为连接的主机未能响应(我的外部IP地址):(端口)
我认为问题在于我是在NAT背后.但我已经在IP 10.0.0.1上为端口49731设置了portforwarding,但没有任何改变.
我的第二个猜测是Windows防火墙,但即使我停止防火墙,我的应用程序也没有开始工作.
我连接两台PC的代码是:
TcpInformer peer;
TcpHost server;
public void PrepareConnection() // for server (host)
{
playerType = PlayerType.One;
server = new TcpHost(form, this);
server.Start("10.0.0.1", 49731);
}
public void PrepareConnection2() // for client
{
playerType = PlayerType.Two;
peer = new TcpInformer(form, this);
peer.Connect("MY EXTERNAL IP", 49731);
}
// classes TcpHost and TcpInformer
public interface ITcpCommunication
{
#region Operations (3)
void ReadData();
void SendData(byte[] message);
void SendData(byte[] message, int size);
#endregion Operations
}
public class TcpInformer : ITcpCommunication …Run Code Online (Sandbox Code Playgroud) 我有一个Wix安装程序,应该允许在Windows Server 2008上运行,但不允许在Vista上运行.根据Microsoft的" 操作系统属性"页面,使用它们为此目的提供的参数(VersionNT和WindowsBuild)是不可能的.
有没有人解决这个问题或知道如何解决它?
谢谢!
installer operating-system wix windows-vista windows-server-2008
我想将分裂整数分解为它们的因素.例如,如果记录总数为:
169 - ( 13 x 13 times)
146 - ( 73 x 2 times)
150 - ( 50 x 3 times)
175 - ( 25 x 7 times)
168 - ( 84 x 2 )
160 - ( 80 x 2 times)
Run Code Online (Sandbox Code Playgroud)
当它超过10k时 - 我想要1000上的所有东西当它超过10万时 - 我希望一切都在10k上
通过这种方式,我想要计算数字.怎么做到这一点?是否有任何Perl模块可用于这些类型的操作?
假设记录总数为10k.它应该分开1000x10倍; 不是100或10.
我可以使用sqrt功能.但这并不总是我所期待的.如果我给出输入146,我必须得到(73,2).
我试图设计一个程序来计算句子中的元音.
在我的代码中,我在foreach语句中使用了一个if/else if语句.我想使用switch语句转换这些代码行,但我不确定要去哪里.我需要添加新方法吗?我很感激你的帮助.
这是我到目前为止所尝试的:我检查过这个是非常错误的.在case 1例如需要有一个常数.我不确定我在这里使用什么常数.
foreach (char v in yourSentence)
{
switch (v)
{
case 1:
(v==ch1);
counta++;
j++;
break;
case 2:
(v==ch2);
counte++;
j++;
break;
case 3:
(v==ch3);
counti++;
j++;
break;
case 4:
(v==ch4);
counto++;
j++;
break;
case 5:
(v==ch3);
counti++;
j++;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
另一个问题:我试图改变listBox中显示文本的颜色.这可能有不同的颜色吗?我在这里尝试的是前5(listBox1.Items.Add)是紫罗兰.并且(listBox1.Items.Add)的总和是蓝色的.但它似乎没有改变.我在这里错过了什么吗?
private void btnCount_Click(object sender, EventArgs e)
{
string yourSentence;
yourSentence = textBoxVowels.Text.ToLower().Trim();
char ch1 = 'a';
char ch2 = 'e';
char …Run Code Online (Sandbox Code Playgroud) ASP.NET C#
如何在c#代码隐藏文件中向面板(div)添加title属性?
我有一个客户端在服务器上启动一个长时间运行的进程.我会定期向用户展示后台正在发生的事情.最简单的方法是轮询服务器,但我想知道是否没有办法为此实现Observer模式.不幸的是,我正在使用RMI与服务器通信,我担心我必须将我的客户端变为RMI服务器.
还有另外一种方法让我失踪吗?