问题列表 - 第30842页

如何从序列化数据中"序列化"派生类?

如何从序列化数据中"序列化"派生类?或许我应该说,有没有更好的方法将数据"反序列化"为派生类?

例如,假设你有一个纯虚基类(B),它由其他三个类X,Y和Z继承.而且,我们有一个方法serialize(),它将翻译X:B,Y:B和Z:B成序列化数据.

通过这种方式,可以将套接字,命名管道等连接到远程进程.

我遇到的问题是,我们如何从序列化数据中创建一个合适的对象?

我能想到的唯一解决方案是在序列化数据中包含一个标识符,用于指示最终的派生对象类型.接收者首先从序列化数据中解析派生类型字段,然后使用switch语句(或类似的某种逻辑)来调用适当的构造函数.

例如:

B deserialize( serial_data )
{
    parse the derived type from the serial_data

    switch (derived type)
        case X
            return X(serial_data)
        case Y
            return Y(serial_data)
        case Z
            return Z(serial_data)
}
Run Code Online (Sandbox Code Playgroud)

因此,在学习派生对象类型之后,我们调用适当的派生类型构造函数.

然而,这感觉很尴尬和麻烦.我希望有一种更有说服力的方式来做到这一点.在那儿?

c++ serialization

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

嵌套模型表单中的Collection_select

我有时间表模型,运行模型和运动员模型.

class Timesheet < ActiveRecord::Base
  has_many :runs, :dependent => :destroy
  accepts_nested_attributes_for :runs
end


class Run < ActiveRecord::Base
  belongs_to :timesheet
  belongs_to :athlete
end

class Athlete < ActiveRecord::Base
  has_many :runs
end
Run Code Online (Sandbox Code Playgroud)

运行嵌套在Timesheets下,我想在创建Timesheet的同一表单上创建一些运行,如此railscast中所示

class TimesheetsController < ApplicationController
  def new
    @timesheet = Timesheet.new
    3.times { @timesheet.runs.build }
  end
Run Code Online (Sandbox Code Playgroud)

在我的时间表表单上,我遇到了我的collection_select问题(运动员名称的下拉列表填充了运行表中的:athlete_id字段).

<% form_for(@timesheet) do |f| %>
  <%= f.error_messages %>
  <%= f.label "Date" %>
  <%= f.text_field :date %>

  <% f.fields_for :runs do |builder| %>
    <%= collection_select(:run, :athlete_id, Athlete.all(:order => 'name'), :id, :name, { :prompt => …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

编码麻烦 - 一种格式到另一种格式

我有一个刮刀正在从别处收集一些我无法控制的数据.源数据执行各种有趣的Unicode字符,但它将它们转换为非常无用的格式,所以

\u00e4
Run Code Online (Sandbox Code Playgroud)

对于一个小的'a'与变音符号(没有我认为应该在那里的双引号)*.当然这会在我的HTML中呈现为纯文本.

是否有任何现实的方法将unicode源转换为适当的字符,不涉及我手动处理每个字符串序列并在刮擦期间替换它们?

*这是它吐出的json样本:

({"content":{"pagelet_tab_content":"<div class=\"post_user\">Latest post by <span>D\u00e4vid<\/span><\/div>\n})
Run Code Online (Sandbox Code Playgroud)

php unicode encoding

5
推荐指数
2
解决办法
5087
查看次数

我应该在AMD和英特尔芯片上运行我的回归测试程序吗?

现在我计划在32位,64位,Windows XP Home,Windows XP Pro,Windows Vista Home Basic,Windows Vista Ultimate,Windows 7 Home Basic和Windows 7 Ultimate上进行测试......所有这些都包含最新的服务包.

但是,现在我想知道是否值得对AMD和英特尔进行上述所有列出的场景测试,还是浪费时间?

注意:这是日常普通用户的安全应用程序.

code-coverage intel regression-testing amd-processor

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

仅为登录用户显示菜单项

我是ASP.NET MVC的新手,正在使用该框架的1.0版本.我有一个site.master页面,其中包含以下硬编码菜单

<div id="menucontainer">
    <ul id="menu">              
    <li><%= Html.ActionLink("Home", "Index", "Home")%></li>
    <li><%= Html.ActionLink("Drivers", "List/?category=Drivers", "Product")%></li>
    <li><%= Html.ActionLink("Irons", "List/?category=Irons", "Product") %></li>
    <li><%= Html.ActionLink("Wedges", "List/?category=Wedges", "Product") %></li>
    <li><%= Html.ActionLink("Putters", "List/?category=Putters", "Product") %></li> 
    </ul>  
 </div>
Run Code Online (Sandbox Code Playgroud)

我想在用户登录时在菜单上显示一个额外的项目.像"查看我的房源"之类的东西.我以肮脏的hacky方式做这件事没问题,所以我试过了

<% if (User.Identity.IsAuthenticated) ...
Run Code Online (Sandbox Code Playgroud)

User在这种情况下无效.我的问题是如何仅在用户登录时显示额外的菜单项?

asp.net-mvc

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

通过 ADO/VBA 指示 SQL Server 存储过程更新成功/失败的返回值

我有一个更新表中值的 SQL Server 2008 存储过程。我想让存储过程返回一个整数值,指示更新成功(返回 0)或不成功(返回错误号)。通过 ADO 和 VBA 实现这一目标的最佳方法是什么?这是我的一些执行更新的简化形式的代码......我只是不确定如何取回存储过程的返回值

Public Function DoUpdate(employeeID as integer, firstName as string, lastname as string) as integer

  Dim cnn As ADODB.Connection
  Dim cmd As ADODB.Command
  Dim activeConnectionString As String

  activeConnectionString = GetActiveConnectionString()

  Set cnn = New ADODB.Connection
  cnn.ConnectionString = activeConnectionString
  cnn.CursorLocation = adUseClient
  cnn.Open

  Set cmd = New ADODB.Command
  cmd.ActiveConnection = cnn
  cmd.CommandType = adCmdStoredProc
  cmd.CommandText = "uspUpdateEmployeeName"
  cmd.NamedParameters = True

  cmd.Parameters("@EmployeeID").Value = employeeID 
  cmd.Parameters("@FirstName").Value = firstName
  cmd.Parameters("@LastName").Value = lastName

  cmd.Execute

  'Unsure of how …
Run Code Online (Sandbox Code Playgroud)

vba stored-procedures ado return-value

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

仅当表中尚不存在记录时才插入记录

我想知道是否有办法只在表中没有包含该记录的情况下将记录插入表中?

是否有查询会执行此操作,还是需要存储过程?

sql t-sql sql-server

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

红宝石面试问题

我在之前的一次采访中得到了这个问题而无法做到,任何想法?

  1. 这是做什么的:

    `$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=( 
    $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++; 
    $_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++ 
    ;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=` 
    
    Run Code Online (Sandbox Code Playgroud)

ruby perl

13
推荐指数
2
解决办法
973
查看次数

使用反射将XML转换为Object

如果你想解决问题,这里有一个很大的问题:D

首先,它不是关于序列化,好吗?

好吧,我的情况......我正在编写一个函数,我将作为参数传递给Xml(XmlDocument)和一个对象(Object)作为参考.它将返回一个填充了Xml(XmlDocument)值的对象(被引用的对象).

例如:

我有一个Xml像:

<user>
  <id>1</id>
  <name>Daniel</name>
</user>
Run Code Online (Sandbox Code Playgroud)

我也有我的功能

public Object transformXmlToObject (XmlDocument xml, Object ref)
{
  // Scroll each parameters in Xml and fill the object(ref) using reflection.
  return ref;
}
Run Code Online (Sandbox Code Playgroud)

我该如何使用它?

我会用这样的:

[WebMethod]
public XmlDocument RecebeLoteRPS(XmlDocument xml)
{
  // class user receive the object converted from the function
  User user = new User();
  user = transformXmlToObject(xml, user);

  // object filled 
}
Run Code Online (Sandbox Code Playgroud)

我需要帮助的人.

最好的问候,丹

c# xml reflection

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

HEAD与WebClient?

我将假设答案是否定的....有没有办法使用WebClient发送HEAD方法并将标题作为字符串或类似的东西返回?

.net webclient http head

25
推荐指数
2
解决办法
8421
查看次数