问题列表 - 第22617页

C++继承,覆盖时仍然调用基函数

我有以下两个类,一个继承自另一个

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++中使用它,它并没有为我工作

c++ inheritance abstraction

3
推荐指数
2
解决办法
235
查看次数

xsd.exe - 类到模式 - 用于WCF

我已经创建了一个模式,作为我们公司和外部公司之间商定的接口.我现在正在创建一个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)出于某种原因,直到我的项目做了一个构建,我没有在智能感知的所有类(不知道为什么).

c# wcf schema xsd

6
推荐指数
2
解决办法
9558
查看次数

在C++中检查空文件

有没有一种简单的方法来检查文件是否为空.就像你将一个文件传递给一个函数并且你意识到它是空的一样,那么你马上关闭它?谢谢.

编辑,我尝试使用FSEEK方法,但我得到一个错误说"不能转换到ifstream的FILE*".

我的函数的参数是

myFunction(ifstream &inFile)
Run Code Online (Sandbox Code Playgroud)

c++ eof

37
推荐指数
3
解决办法
8万
查看次数

资源无法解析(VS 2010 RC)

我有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的问题还是我做错了什么?

.net wpf staticresource

6
推荐指数
1
解决办法
1万
查看次数

ASP.NET Web应用程序死锁 - 认为它是由SQL Server锁定引起的

我们客户的网络应用程序会以随机间隔突然重启.对于每次重启,我们在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)

sql-server asp.net crash deadlock

6
推荐指数
1
解决办法
8231
查看次数

Json.NET可以用点表示法反序化扁平的JSON字符串吗?

我有一个扁平的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.LastNameClient.EmailClient对象中的属性.使用Json.NET,有没有办法让它解析点符号并正确反序列化这个实体?目前,使用默认设置,它告诉我这Client.FirstName不是类型中的属性Case.

syntax serialization json.net

10
推荐指数
1
解决办法
2742
查看次数

如何保持"form.ShowDialog()"的"this.ShowInTaskBar"同时保持打开状态?

如果您在一个包含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将关闭.

如何保持开放?

.net c# winforms

5
推荐指数
1
解决办法
4998
查看次数

你如何迭代地计算0到N的所有可能的排列?

我需要迭代地计算排列.方法签名如下:

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)

您将如何以最有效的方式迭代地执行此操作?我可以递归地执行此操作,但我有兴趣看到许多替代方法来迭代地执行此操作.

language-agnostic math permutation

30
推荐指数
3
解决办法
2万
查看次数

Html Canvas智能绘图

我目前正在实现一个基于HTML画布的webapp,它具有平移功能.有没有办法使用辅助缓冲区来保持当前可见的区域,所以当我平移时,我不需要重绘整个画布,只需绘制新的可见区域?

html javascript canvas

3
推荐指数
1
解决办法
1977
查看次数

MySQL有某种"严格的性能模式"吗?

我想设置一个MySQL实例来完全拒绝某些类型的查询.例如,任何不使用索引的JOIN都应该失败并且死亡并显示在应用程序堆栈跟踪上,而不是运行缓慢并显示在slow_query_log上,没有简单的方法将其绑定到导致它的实际测试用例.

另外,我想禁止"*"(如"SELECT*FROM ..."),并且基本上抛出语法错误.从MySQL性能角度来看,任何有问题或危险的东西都应该导致错误.

这可能吗?除了攻击MySQL内部......有一个简单的方法吗?

mysql

5
推荐指数
1
解决办法
192
查看次数