问题列表 - 第14746页

派生类的XML序列化

我有一个元素数组,我需要使用XmlSerializer序列化.我遇到的问题是我有2个派生类,并序列化它们,因此它们有一个共同基础的元素名称,似乎不起作用.

所以,这就是XML的外观:

<Root>
    <Base> foo </Base>
</Root>
Run Code Online (Sandbox Code Playgroud)

相反,我得到了

<Root>
    <Derived1> foo </Derived1>
</Root>
Run Code Online (Sandbox Code Playgroud)

我序列化的元素数组的代码是

private object[] m_nodes;

[System.Xml.Serialization.XmlElementAttribute("Base", typeof(Derived1)]
[System.Xml.Serialization.XmlElementAttribute("Base", typeof(Derived2)]

public object[] Nodes
{
    get
    {
        return this.m_nodes;
    }
    set
    {
        this.m_nodes = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我发现节点有一个反射错误.如果我将XmlEelementAttributes中的"Base"更改为"Derived1"和Derived2",它可以工作,但元素名称不正确.

[System.Xml.Serialization.XmlInclude(typeof(Derived1))]
public abstract class Base
{
    public Base()
    {

    }
}



[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public class Derived1: Base
{
    public Derived1()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.非常感谢.

c# xml-serialization

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

在VS 2008中为单个项目关闭Intellisense

我有一个大约1000个类的项目(不,没有办法方便地将这个项目分成多个).只需加载项目大约需要20分钟,因为智能感知会慢慢地突破所有类,并且会占用近1GB的内存.有没有办法为单个项目关闭Intellisense,但是为解决方案中的所有其他项目保留它?

size intellisense project visual-studio-2008

4
推荐指数
1
解决办法
1301
查看次数

jQuery:在IE中动画不透明度

使用具有纯黑色的div可淡化其下方的图像.在Chrome和Firefox中,这种方法很好,但是,在IE中,它是倒退的.

$("div#bgcover").animate( {opacity:.70}, 2500);
Run Code Online (Sandbox Code Playgroud)

这从0%的不透明度开始,随着时间的推移应该有70%的动画效果.然而,在IE中,它从0%跳到100%,然后逐渐减少到70%.

正在寻找一个解决方案.谢谢.

css jquery internet-explorer jquery-animate

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

如何从T-SQL中的表中选择前N行?

有没有办法选择,例如,在T-SQL(工作MSSQL)中的前10行表?
我想我在Oracle中看到了一些定义为rownum元变量的东西,用于以下方式

__PRE__
但是MSSQL怎么样?

sql database

17
推荐指数
4
解决办法
11万
查看次数

直接从无窗口Linux终端启动OpenGL应用程序

如何让OpenGL应用程序直接从终端(Ubuntu Server 9.04)运行全屏?我在我的服务器上开发了一个可视化诊断应用程序,但是,我并不完全确定在无窗口环境中运行它的最佳方法.


理想情况下,我会运行我的程序:

./visualdiagnostics
Run Code Online (Sandbox Code Playgroud)

并启动OpenGL应用程序.然后,通过简单的Ctrl+X键绑定,我将杀死应用程序并返回终端.


我是否需要安装X11然后以某种方式从程序中启动它?什么是检测它是否已经运行的最佳方法,并在必要时启动/停止它?

还有,我不是,我不是想让它跑到Putty或其他任何地方......我有一台显示器直接连接到服务器上.服务器安装了正确的视频驱动程序.

c linux opengl

11
推荐指数
1
解决办法
5313
查看次数

如何在项目中实现预编译的头文件

我理解预编译头文件的目的和原因.但是,实施它们的规则是什么?根据我的理解,它是这样的:

  1. 将项目设置为使用带有YU指令的预编译头.
  2. 创建stdafx.h文件并将其设置为预编译头.
  3. 将其作为每个.h文件中的top include语句包含在内.

这是对的吗?您是否应该将其包含在预编译头文件中包含的文件中?目前,在遵循我的直觉时,我得到以下编译错误:

错误C2857:在源文件中找不到使用/Ycstdafx.h命令行选项指定的'#include'语句

命令行选项如下:

/ Od/I"../External/PlatformSDK/Include"/ I".."/ I"../External/atlmfc/Include"/ D"_DEBUG"/ D"_UNICODE"/ D"UNICODE"/ Gm/EHsc/RTC1/MDd /Yc"stdafx.h"/Fp"....Output\LudoCore\Debug\LudoCore.pch"/ Fo"....\Output\LudoCore\Debug \"/ Fd".. ..\Output\LudoCore\Debug\vc80.pdb"/ W4/WX/nologo/c/ZI/TP/wd4201/errorReport:prompt

c++ visual-studio-2005 include precompiled-headers visual-c++

24
推荐指数
4
解决办法
4万
查看次数

在JSTL中访问Map <Enum,Object>

我有:

public enum MyEnum{
    One, Two, Three
}
Run Code Online (Sandbox Code Playgroud)

从控制器,我输入模型:

HashMap<MyEnum, Long> map = new HashMap<MyEnum, Long>();
map.put(MyEnum.One, 1L);
mav.addObject( "map", map);
Run Code Online (Sandbox Code Playgroud)

我如何在我的JSTL中以一种巧妙的方式访问地图中的关键枚举MyEnum.One对象?

${map['One']} //does not seem to work...
Run Code Online (Sandbox Code Playgroud)

也没有

${map[MyEnum.One]}
Run Code Online (Sandbox Code Playgroud)

java enums jsp jstl

11
推荐指数
2
解决办法
7860
查看次数

未定义的vtable参考.试图编译一个Qt项目

我正在使用Code :: Blocks 8.02和mingw 5.1.6编译器.我在编译Qt项目时收到此错误:

C:\ Documents and Settings\Fuzz\Desktop\GUI\App_interface.cpp | 33 |未定义引用`vtable for AddressBook'

文件地址Book.h:

 #ifndef ADDRESSBOOK_H
 #define ADDRESSBOOK_H

 #include <QWidget>

 class QLabel;
 class QLineEdit;
 class QTextEdit;

 class AddressBook : public QWidget
 {
     Q_OBJECT

 public:
     AddressBook(QWidget *parent = 0);

 private:
     QLineEdit *nameLine;
     QTextEdit *addressText;
 };

 #endif
Run Code Online (Sandbox Code Playgroud)

文件AddressBook.cpp:

#include <QtGui>
#include "addressbook.h"

AddressBook::AddressBook(QWidget *parent)
     : QWidget(parent)
{
    QLabel *nameLabel = new QLabel(tr("Name:"));
    nameLine = new QLineEdit;

    QLabel *addressLabel = new QLabel(tr("Address:"));
    addressText = new QTextEdit;

    QGridLayout *mainLayout = new QGridLayout; …
Run Code Online (Sandbox Code Playgroud)

c++ qt qmake

51
推荐指数
5
解决办法
8万
查看次数

一次又一次地更新UIVIew

我正在制作一个简单的iPhone应用程序,其唯一的功能是永远更新UIView(直到它退出).

我在applicationDidFinishLaunching和viewDidLoad中试过这个:

while(1) {  
    // update view here  
}

但这不起作用 - 应用程序永远不会完成加载.我确信有一个简单的解决方案,我只是不知道它是什么.

另外:理想情况下,这个过程应该消耗很少的资源.

iphone uiview

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

struts 2,tiles 2动态标题

我使用tile 2.0.6作为我的模板框架和struts 2.1.6.我正在编写一个简单的cms页面,并希望让用户定义每个html页面的标题.

我有这样的标题定义

    <definition name="base" template="/WEB-INF/jsp/templates/base.jsp">
        <put-attribute name="title" value=" "/>
        <put-attribute name="header" value="/WEB-INF/jsp/templates/header.jsp"/>  
        <put-attribute name="content" value="dummy"/>
        <put-attribute name="footer" value="/WEB-INF/jsp/templates/footer.jsp"/>   
        <put-attribute name="search" value="/WEB-INF/jsp/search.jsp"/>
    </definition>    
    <definition name="staticview" extends="base">
        <put-attribute name="title" value=" - Static"/>
        <put-attribute name="content" value="/WEB-INF/jsp/static/view.jsp"/>
    </definition>  
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在后来的jsp属性中动态覆盖header.jsp上的标题(String),例如view.jsp.或甚至使用EL进一步

<put-attribute name="title" value="%{title}"/>
Run Code Online (Sandbox Code Playgroud)

让它动态地在struts上获取标题.

请指教

提前致谢

jsp struts2 tiles2 ognl

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