我想使用List [MyObject]比较属性而不是整个对象.因此我使用IEquatable [MyObject],但编译器仍然需要MyObject而不是string属性.为什么?
这是我得到的:
public class AnyClass
{
public List<AnyOtherClass> MyProperty { get; set; }
public string AnyProperty { get; set; }
public AnyClass(string[] Names, string[] Values, string AnyProperty)
{
this.AnyProperty = AnyProperty;
this.MyProperty = new List<AnyOtherClass>();
for (int i = 0; i < Names.Length; i++)
MyProperty.Add(new AnyOtherClass(Names[i], Values[i]));
}
}
public class AnyOtherClass : IEquatable<string>
{
public AnyOtherClass(string Name, string Values)
{
this.Name = Name;
this.Values = Values.Split(';').ToList();
}
public string Name { get; set; }
public List<string> Values …Run Code Online (Sandbox Code Playgroud) 我使用CarlosAG-Dll为我创建一个XML-Excel文件(在MemoryStream中).
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("content-disposition", "myfile.xml");
memory.WriteTo(Response.OutputStream);
Run Code Online (Sandbox Code Playgroud)
我的问题是,我在客户端获得myfile.xls(IE)或myfile.xml.xls(FF),因此从excel获得恼人的安全警告.
我也尝试使用application/vnd.openxmlformats-officedocument.spreadsheetml.sheet(xlsx),但它甚至都不会打开.
所以我需要剪切.xml并将其作为vnd.ms-excel(如何?)发送或者采用另一种MIME类型(但是哪一种?).
我想知道这是否仍然是开放的,为什么?
我在这里使用Parse构建系统,使用Parse转换值(现在是3.5).
string myString = String.Empty;
double myValue = double.Parse(myString);
Run Code Online (Sandbox Code Playgroud)
抛出FormatException(我期望0.0).
如果我用2.0+重写它
string myString = String.Empty;
double myValue;
if (double.TryParse(myString, out myValue))
//do something
Run Code Online (Sandbox Code Playgroud)
我得到了想要的0.0,但不幸的是我失去了获得有意义的错误消息的可能性(在else树中).
为什么给我解析错误和TryParse我的期望值?有没有办法从TryParse中获取错误消息(时间不是问题)?
我不想那样解决它:
使用if ... then避免错误
myValue = myString.Length == 0 ? 0.0 : double.Parse(myString);
Run Code Online (Sandbox Code Playgroud)如果发生错误,则发出两次电话
if (!double.TryParse(myString, out myValue))
myValue = double.Parse(myString);
Run Code Online (Sandbox Code Playgroud)我编写了以下代码,创建了一个带有动态添加内容的弹出窗口.现在我想删除这些添加的项目或编辑它们,但它似乎没有点击其中一个按钮的事件(btnLSM_Remove + btnLSM_Edit).任何线索为什么会这样?btnLSM_Add并btnLSM_Okay以同样的方式工作,他们工作......
function ListManagementDialog(obj, dialogTitle, dialogText, listDelimiter, btnNames) {
if (!$.isArray(btnNames)) {
return false;
}
if (dialogConfirmed) {
return false;
}
btns[btnNames[0]] = function () {
$(this).dialog('close');
dialogConfirmed = true;
if (obj) {
obj.click();
}
};
btns[btnNames[1]] = function () {
$(this).dialog('close');
};
$('body').append(String.Format('<div id="divLSM_Dialog" title="{0}"><p>{1}</p>' +
'<button id="btnLSM_Add" class="btnAdd" type="button" role="button" aria-disabled="false" title="Hinzufügen" />' +
'<input id="txbLSM_Emailadresse" class="text ui-widget-content ui-corner-all" type="text" name="txbLSM_Emailadresse" style="display:none;">' +
'<button id="btnLSM_Okay" class="btnOkay" type="button" role="button" aria-disabled="false" title="Übernehmen" style="display:none;" …Run Code Online (Sandbox Code Playgroud) c# ×3
asp.net ×1
contains ×1
double ×1
excel ×1
generics ×1
iequatable ×1
javascript ×1
jquery ×1
jquery-ui ×1
mime-types ×1
parsing ×1
tryparse ×1