我正在尝试创建一个类,该类将包含用于将对象序列化/反序列化到字符串/从字符串反序列化的函数.这就是现在的样子:
public class BinarySerialization
{
public static string SerializeObject(object o)
{
string result = "";
if ((o.GetType().Attributes & TypeAttributes.Serializable) == TypeAttributes.Serializable)
{
BinaryFormatter f = new BinaryFormatter();
using (MemoryStream str = new MemoryStream())
{
f.Serialize(str, o);
str.Position = 0;
StreamReader reader = new StreamReader(str);
result = reader.ReadToEnd();
}
}
return result;
}
public static object DeserializeObject(string str)
{
object result = null;
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(str);
using (MemoryStream stream = new MemoryStream(bytes))
{
BinaryFormatter bf = new BinaryFormatter();
result = …Run Code Online (Sandbox Code Playgroud) 我需要使用可编辑的条目实现网格.实体字段之一是字符串列表.例如,它是一个订单列表,每个订单可能有几个跟踪号.所以我需要它来实现一个小部件,它将支持显示实体列表,添加和删除项目的能力.而且(最重要的是)它必须在Kendo网格中工作.
所以我构建了一个示例小部件......
(function (jQuery) {
var ui = kendo.ui;
var Widget = ui.Widget;
var TrackingNumbersList = Widget.extend({
addEntryToList: function (event, value) {
if (value == undefined) {
var value = this.valueInput.val();
if (value != null && value != "") {
this.addEntryToList(event, value);
}
} else {
this.domElement.find("div#valuesContainer").append($j("<div valueContainer></div>").html(value));
this.valueInput.val('');
}
},
clear: function () {
this.domElement.find("div[valueContainer]").remove();
},
renderInterface: function () {
var that = this;
this.domElement.append("<div id='valuesContainer'></div>");
this.valueInput = $j("<input id='txtValue' type='text' />");
this.domElement.append(
$j("<div></div>").append(this.valueInput)
.append($j("<input type='button' value='Add' />").click($j.proxy(that.addEntryToList, that))) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用jQuery通过GET方法调用Web服务功能,但遇到了问题.这是一个Web服务代码:
[WebService(Namespace = "http://something.com/samples")]
[ScriptService]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TestWebService : System.Web.Services.WebService {
[WebMethod]
public string Test2()
{
string result = null;
try
{
result = "{'result':'success', 'datetime':'" + DateTime.Now.ToString() + "'";
}
catch (Exception ex)
{
result = "Something wrong happened";
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我调用函数的方式:
$.ajax({ type: "GET",
url: "http://localhost/testwebsite/TestWebService.asmx/Test2",
data: "{}",
contentType: "application/json",
dataType: "json",
error: function (xhr, status, error) {
alert(xhr.responseText);
},
success: function (msg) {
alert('Call was successful!');
}
});
Run Code Online (Sandbox Code Playgroud)
方法被成功调用,但结果字符串被XML标记覆盖,如下所示:
<string>
{'result':'success', …Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何使用动态变量来处理使用LINQ查询的方法.例如,这很好:
using (DBDataContext db = new DBDataContext())
{
var query = from c in db.Users
select
new
{
c.Firstname,
c.Lastname,
c.Age
};
gridUsers.VirtualItemCount = query.Count();
gridUsers.DataSource = query.ToList();
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
using (DBDataContext db = new DBDataContext())
{
dynamic query = from c in db.Users
select
new
{
c.Firstname,
c.Lastname,
c.Age
};
gridUsers.VirtualItemCount = query.Count();
gridUsers.DataSource = query.ToList();
}
Run Code Online (Sandbox Code Playgroud)
错误是:'object'不包含'Count'的定义.如何使用动态关键字?
这是一个代码示例:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
...
static void Main()
{
Person[] persons = new Person[]
{
new Person{ FirstName = "John", LastName = "Smith"},
new Person{ FirstName = "Mark", LastName = "Jones"},
new Person{ FirstName= "Alex", LastName="Hackman"}
};
XmlSerializer xs = new XmlSerializer(typeof(Person[]), "");
using (FileStream stream = File.Create("persons-" + Guid.NewGuid().ToString().Substring(0, 4) + ".xml"))
{
xs.Serialize(stream, persons);
}
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
<?xml version="1.0"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> …Run Code Online (Sandbox Code Playgroud) 我试图找出.net数组到XML的序列化.这是我提出的一段代码:
public class Program
{
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public uint Age { get; set; }
}
static void Main ()
{
Person[] p =
{
new Person{Age = 20, Firstname = "Michael", Lastname = "Jackson"},
new Person{Age = 21, Firstname = "Bill", Lastname = "Gates"},
new Person{Age = 22, Firstname = "Steve", Lastname = "Jobs"}
};
SerializeObject<Person[]>(p);
}
static void SerializeObject<T>(T obj) where T : …Run Code Online (Sandbox Code Playgroud)