我有以下两个类,一个继承自另一个
Class A{
void print(){cout << "A" << endl;}
}
Class B : A{
void print(){cout << "B" << endl;}
}
Class C : A{
void print(){cout << "C" << endl;}
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个课程中我有以下内容:
vector<A> things;
if (..)
things.push_back(C());
else if (..)
things.push_back(B());
things[0].print();
Run Code Online (Sandbox Code Playgroud)
这总是打印A
我喜欢它打印B或C取决于我添加到向量中的哪个东西我该
怎么做?
我已经尝试过抽象,但我不完全确定如何在C++中使用它,它并没有为我工作
我已经创建了一个模式,作为我们公司和外部公司之间商定的接口.我现在正在创建一个WCF C#Web服务来处理该接口.
我运行了XSD实用程序,它创建了一个C#类.模式是在BizTalk中构建的,并引用其他模式,因此总共生成了超过15个类.
我将[DataContract}属性放在每个类的前面.我是否必须在每个属性上放置[DataMember]属性?
当我生成测试客户端程序时,代理没有任何这15个类的代码.
我们曾经在使用.asmx服务时使用这种技术,但不确定它是否与WCF一样.如果我们更改架构,我们会想要重新生成WCF类,然后我们每次都要使用所有[DataMember]属性重新调整它?是否有一个类似于XSD.exe的新工具可以更好地与WCF一起使用?
谢谢,
尼尔沃尔特斯
解决方案(埋在桑德斯之一回答/评论):
将XmlSerializerFormat添加到Interface定义:
[OperationContract]
[XmlSerializerFormat] // ADD THIS LINE
Transaction SubmitTransaction(Transaction transactionIn);
Run Code Online (Sandbox Code Playgroud)
两个注意事项:1)在我这样做之后,我在我的代理(服务参考)测试客户端程序中看到了更多.xsds,但是我没有看到我的intellisense中的新类.2)出于某种原因,直到我的项目做了一个构建,我没有在智能感知的所有类(不知道为什么).
有没有一种简单的方法来检查文件是否为空.就像你将一个文件传递给一个函数并且你意识到它是空的一样,那么你马上关闭它?谢谢.
编辑,我尝试使用FSEEK方法,但我得到一个错误说"不能转换到ifstream的FILE*".
我的函数的参数是
myFunction(ifstream &inFile)
Run Code Online (Sandbox Code Playgroud) 我有WPF 4应用程序,它有许多UserControl,它们在子控件中共享样式.所以我在我的App.xaml中创建了许多样式.例如:
<Style x:Key="ViewTitle" TargetType="{x:Type Border}">
<Setter Property="BorderBrush" Value="LightGray" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
Run Code Online (Sandbox Code Playgroud)
然后在我的UserControls中,我使用StaticResource来引用它们,例如:
<Border Style="{StaticResource ViewTitle}">
<TextBlock Margin="6,3,4,5" FontSize="18" FontWeight="Bold" Foreground="White" HorizontalAlignment="Left" Text="Host Management" />
</Border>
Run Code Online (Sandbox Code Playgroud)
一切正常.问题是Visual Studio 2010 RC在StaticResource引用下放置了一个蓝色波浪形,并说:无法解析资源"ViewTitle".
那是怎么回事?这是Visual Studio的问题还是我做错了什么?
我们客户的网络应用程序会以随机间隔突然重启.对于每次重启,我们在Windows事件日志中找到了这样的条目:
Event Type: Warning
Event Source: W3SVC-WP
Event Category: None
Event ID: 2262
Date: 2/21/2010
Time: 1:33:52 PM
User: N/A
Computer: LIQUID-NXCFZ9DJ
Description:
ISAPI 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.
Run Code Online (Sandbox Code Playgroud)
这种情况在3周内发生了10次,其中有几次在几个小时内发生了2到3次,并且在没有发生这种情况的情况下持续了一周.
在崩溃转储中,我们可能有70-80个客户端连接,如下所示:
GET request for <path here>
Mapped To URL <mapped path>
HTTP Version HTTP/1.1
SSL Request False
Time alive 00:55:24
QueryString <query string here>
Request mapped to
HTTP Request State HTR_READING_CLIENT_REQUEST
Native Request State NREQ_STATE_PROCESS
Run Code Online (Sandbox Code Playgroud)
(这是55分钟!!!没有理由客户端连接应该在那么久)
machine.config中的相关条目:
<system.net>
<connectionManagement>
<add address="*" maxconnection="200" />
</connectionManagement> …Run Code Online (Sandbox Code Playgroud) 我有一个扁平的JSON:
{
"CaseName" : "John Doe v. State",
"CaseDate" : "<some date>",
"Client.FirstName" : "John",
"Client.LastName" : "Doe",
"Client.Email" : "johndoe@gmail.com"
etc...
}
Run Code Online (Sandbox Code Playgroud)
我想将它反序列化回这个实体:
public class Case()
{
public string CaseName { get; set; }
public string CaseDate { get; set; }
public Client Client { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
where Client.FirstName,Client.LastName和Client.Email是Client对象中的属性.使用Json.NET,有没有办法让它解析点符号并正确反序列化这个实体?目前,使用默认设置,它告诉我这Client.FirstName不是类型中的属性Case.
如果您在一个包含2个表单的全新winform应用程序中运行此代码片段(将其放在form1中)
private void Form1_Load(object sender, EventArgs e)
{
Form2 newForm = new Form2();
Button b = new Button();
newForm.Controls.Add(b);
b.Click += new EventHandler(click);
this.Show();
newForm.ShowDialog();
}
private void click(object sender, EventArgs e)
{
((Form)((Control)sender).Parent).ShowInTaskbar = false;
}
Run Code Online (Sandbox Code Playgroud)
然后单击新表单上的按钮(应该是form2),form2将关闭.
如何保持开放?
我需要迭代地计算排列.方法签名如下:
int[][] permute(int n)
为了n = 3例如,返回值将是:
[[0,1,2],
[0,2,1],
[1,0,2],
[1,2,0],
[2,0,1],
[2,1,0]]
Run Code Online (Sandbox Code Playgroud)
您将如何以最有效的方式迭代地执行此操作?我可以递归地执行此操作,但我有兴趣看到许多替代方法来迭代地执行此操作.
我目前正在实现一个基于HTML画布的webapp,它具有平移功能.有没有办法使用辅助缓冲区来保持当前可见的区域,所以当我平移时,我不需要重绘整个画布,只需绘制新的可见区域?
我想设置一个MySQL实例来完全拒绝某些类型的查询.例如,任何不使用索引的JOIN都应该失败并且死亡并显示在应用程序堆栈跟踪上,而不是运行缓慢并显示在slow_query_log上,没有简单的方法将其绑定到导致它的实际测试用例.
另外,我想禁止"*"(如"SELECT*FROM ..."),并且基本上抛出语法错误.从MySQL性能角度来看,任何有问题或危险的东西都应该导致错误.
这可能吗?除了攻击MySQL内部......有一个简单的方法吗?
.net ×2
c# ×2
c++ ×2
abstraction ×1
asp.net ×1
canvas ×1
crash ×1
deadlock ×1
eof ×1
html ×1
inheritance ×1
javascript ×1
json.net ×1
math ×1
mysql ×1
permutation ×1
schema ×1
sql-server ×1
syntax ×1
wcf ×1
winforms ×1
wpf ×1
xsd ×1