问题列表 - 第34805页

XmlSerializer序列化通用接口列表

我正在尝试使用XmlSerializer来持久化List(T),其中T是一个接口.序列化器不喜欢接口.我很好奇是否有一种简单的方法可以使用XmlSerializer轻松地序列化异构对象列表.这就是我想要的:

    public interface IAnimal
    {
        int Age();
    }
    public class Dog : IAnimal
    {
        public int Age()
        {
            return 1;
        }
    }
    public class Cat : IAnimal
    {
        public int Age()
        {
            return 1;
        }
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        var animals = new List<IAnimal>
        {
            new Dog(),
            new Cat()
        };

        var x = new XmlSerializer(animals.GetType());
        var b = new StringBuilder();
        var w = XmlTextWriter.Create(b, new XmlWriterSettings { NewLineChars = "\r\n", Indent = true });
        //FAIL - …
Run Code Online (Sandbox Code Playgroud)

c# interface list xml-serialization xmlserializer

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

如何在servlet java程序中处理HTML标签?

1)在我的servlet程序中,我有一个语句,将使用如下代码打印,

    out.println("<b>This is servlet output</b>");
Run Code Online (Sandbox Code Playgroud)

它不是用粗体打印,而是用标签打印 在broswer本身.

怎么纠正一样?

2)另外,在提交jsp表单之后的servlet页面中,我想在servlet程序的java代码中添加下面的HTML标记.

    <a href="upload.jsp">Go to JSP form</a>
Run Code Online (Sandbox Code Playgroud)

如何实现相同?请指教.

html java jsp

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

截断条件

truncate - >这会重置整个表,有没有办法通过truncate来重置特定的记录/检查条件.

例如:我想重置所有数据并在表格中保留最近30天.

谢谢.

mysql sql truncate

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

Ruby on rails:设计,想添加邀请码?

我想添加一个invite_code要求供用户注册.IE浏览器.除了要求他们指定电子邮件/密码组合,我还想要一个额外的字段:invite_code.这是一个临时修复,以便非通缉用户在给定的alpha期间无法登录.

我很困惑,因为Devise没有添加控制器.我对虚拟属性的概念很熟悉,我觉得我可以在模型中添加:invite_code,然后只需硬编码一步就可以说邀请代码必须等于12345或者其他任何东西.

设计认证是否有意义?我如何从适当的轨道安静的方法接近这个?

非常感谢你.

ruby ruby-on-rails invite devise

17
推荐指数
2
解决办法
7884
查看次数

PHP界面问题 - 找不到类

嗨,我有一个非常简单的类,实现了一个接口.类和接口都在同一个文件中.

当我实现接口时,我得到一个致命的错误"Class not found",但当我删除工具然后尝试使用该类我可以使用它很好???

任何人都可以就此提出任何建议吗?

对不起,这是我目前用来测试的一些代码:

$tester = new TypeOneTester();
$tester->test("Hello");

interface iTestInterface
{
    public function test($data);
}

class TypeOneTester implements iTestInterface
{
    public function test($data)
    {
        return $data;
    }
}
Run Code Online (Sandbox Code Playgroud)

php interface

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

在C程序中,是否可以将所有全局变量重置为默认值?

我有一个我需要重用的传统C Linux应用程序.该应用程序使用了许多全局变量.我想重用这个应用程序的main方法并在循环中调用它.我发现当我在循环中调用main方法(重命名为callableMain)时,应用程序行为不一致,因为在上一次迭代中设置的全局变量的值会影响新迭代中的程序流.

我想要做的是在执行新迭代之前将所有全局变量重置为默认值.

例如,原始程序是这样的

OriginalMain.C

#include <stdio.h>

int global = 3; /* This is the global variable. */

void doSomething(){     
         global++; /* Reference to global variable in a function. */    
}    

     // i want to rename this main method to callableMain() and
     // invoke  it in a loop 
     int main(void){    
       if(global==3) {    
       printf(" All  Is Well \n");    

       doSomething() ;  
     }
     else{

       printf(" Noooo\n");  

       doNothing() ;

     }
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想改变这个程序如下:

我更改了上面的文件,将main()重命名为callableMain()

我的新主要方法如下:

int main(){  

     for(int i=0;i<20;i++){  

         callableMain();

         // this is …
Run Code Online (Sandbox Code Playgroud)

c global-variables

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

矢量排序:交换过载

我想为基本类型/对象的std :: vector重载交换函数.原因是使用std :: sort对包含大对象的向量进行了慢速排序.这是一个简单但不起作用的例子.

#include <vector>
#include <algorithm>
class Point
{
private:
    double x, y;
public:
    Point(double xx, double yy) : x(xx), y(yy) {}

    bool operator < ( const Point& p ) const
    {
        return x < p.x;
    }

    void swap(Point &p)
    {
        std::swap(*this, p);
    }

};

namespace std
{
void swap( Point &p1, Point &p2)
{
    p1.swap(p2);
}
}

typedef  std::vector<Point> TPoints;
int main()
{
Point p1(0,0);
Point p2(7,100);

TPoints points;
points.push_back(p1);
points.push_back(p2);

    //Overloaded metod swap will not …
Run Code Online (Sandbox Code Playgroud)

c++ sorting swap overloading

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

有没有办法从Android中的文件加载和部分绘制位图?

假设我在磁盘上有一点大(即不适合大多数手机的内存)位图.我想以一种不缩放的方式在屏幕上绘制部分内容(即inSampleSize == 1)

有没有办法加载/绘制我想要的部分给定一个Rect指定区域而不加载整个位图内容?

android bitmap

8
推荐指数
2
解决办法
4946
查看次数

有没有办法在Perl中重载正则表达式绑定运算符`= ~`?

我正在研究一个小型DSL,它使用nomethod回退进行重载来捕获重载值上使用的运算符.这类似于文档中描述的符号计算器的功能overload.

这适用于标准比较运算符,但请考虑以下事项:

my $ret = $overloaded =~ /regex/;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,nomethod调用stringify $overloaded,之后失去重载.我想要返回一个绑定变量,这至少会让我随身携带原始的重载对象,但在执行正则表达式时仍会丢失.

所以,最终的问题是,如果有什么办法可以延长overload的一个象征性的计算器的主意,包括正则表达式结合运营商=~!~,使上面的代码示例将调用nomethod($overloaded, qr/regex/, 0, '=~')或类似的东西?

我还简要介绍了重载smartmatch运算符,~~但似乎也没有做到这一点(总是默认为正则表达式匹配而不是重载).

编辑:我调查了~~更多,并发现my $ret = $overloaded ~~ q/regex/由于智能匹配规则的作用.关闭,但不是一个理想的解决方案,我希望它在5.10之前工作,所以我欢迎其他答案.

regex perl overloading operator-overloading

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

有没有理由主键是nchar而其他字段是nvarchar?

我正在使用MSDN中的一个示例,它使用一个小型数据库来演示数据驱动的测试,这里是简单的模式:

CREATE TABLE dbo.LogonInfoTest
   (
   UserId nchar(256) NOT NULL PRIMARY KEY CLUSTERED,
   Password nvarchar(256) NULL,
   IsValid bit NOT NULL
   )  ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

我的问题是:选择nchar作为UserId和nvarchar的数据类型作为Password的数据类型的根本原因是什么?

sql sql-server-2005 database-schema

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