我正在开始一个项目,大多数时候字符串被写入代码.许多字符串可能只在少数几个地方使用,但有些字符串在许多页面中都很常见.
是不是很好地利用我的时间将文字重构为常量,因为应用程序已经很好地建立并且运行良好?这样做有什么长期利益?
Reflector告诉我,SortedList使用ThrowHelper类来抛出异常而不是直接抛出它们,例如:
public TValue this[TKey key]
{
get
{
int index = this.IndexOfKey(key);
if (index >= 0)
return this.values[index];
ThrowHelper.ThrowKeyNotFoundException();
return default(TValue);
}
Run Code Online (Sandbox Code Playgroud)
其中ThrowKeyNotFoundException仅执行以下操作:
throw new KeyNotFoundException();
Run Code Online (Sandbox Code Playgroud)
注意这需要一个duff语句"return default(TValue)",它是无法访问的.我必须得出结论,这种模式的好处足以证明这一点.
这些好处是什么?
我已经开始为FedEx的webservice API编写一个接口.他们有3种不同的API,我很感兴趣; 费率,发货和跟踪.我正在使用SvcUtil.exe生成服务代理.
FedEx在自己的WSDL文件中指定了不同的服务端点.每个服务端点都有自己的xml命名空间(例如http://fedex.com/ws/rate/v5和http://fedex.com/ws/ship/v5)
服务端点确实使用了相当多的相同类型,例如Address,Measurements,Weight,AuthenticationDetail,ClientDetail等......
这就是问题所在,我可以同时向SvcUtil.exe提供所有WSDL文件,通常它会将任何相同的类型合并为一个共享类型,但由于FedEx的每个服务都在它们自己的命名空间中,他们在该命名空间下的每个WSDL文件中重新声明这些类型,而不是每个命名空间的Address,Address1和Address2.
为了解决这个问题,我现在要做的是分别通过svcutil运行每个WSDL,并将它们分别放在自己的.NET命名空间中(例如FedEx.Rate,FedEx.Ship,FedEx.Track).这个问题是现在我在每个命名空间中都有一个不同的地址类型(Fedex.Rate.Address,FedEx.Ship.Address).
这使得很难概括像GetAuthenticationDetail()工厂方法之类的服务之间使用的代码,因此我不必在每个使用不同服务的地方重复该代码.
在C#中是否有任何方法可以将FedEx.Rate.Address强制转换为FedEx.Ship.Address?
我认为简单但基本上我需要知道PIL上的保存功能的语法是什么.帮助真的很模糊,我在网上找不到任何东西.任何帮助都很棒,谢谢:).
我正在帮助我的姐姐将一个有人为她做的网站转换为html.
他们使用闪存中的花哨字体,我试图通过@ font-face在css文件中定义.我尝试在firefox,IE和chrome中打开页面,但我没有看到正确的字体.
我使用的声明是:
@font-face {
font-family: "VAG Rounded";
src: url("http://judith.huinink.net/chilax/VAGROUNL.OTF");
}
Run Code Online (Sandbox Code Playgroud)
http://judith.huinink.net/chilax/index.htm包含html.
http://judith.huinink.net/chilax/chilax.css包含完整的CSS.
我检查过我可以下载字体文件,但是当我在浏览器中打开页面时它根本不使用该字体.我必须忽视一些事情.有人有什么建议吗?
以下代码行之间有什么区别,或者它们只是两种不同的方式来编写相同的东西:
$("p").click(function() { some code here });
$("p").bind("click", function(){ some other code here });
Run Code Online (Sandbox Code Playgroud)
我是在简化这个吗?因为如果你想绑定多个事件,你可以链接事件,对吗?
在以下示例中:
public class RowData
{
public object[] Values;
}
public class FieldData
{
public object Value;
}
Run Code Online (Sandbox Code Playgroud)
我很好奇protobuf-net或dotnet-protobufs如何处理这些类.我对protobuf-net比较熟悉,所以我实际拥有的是:
[ProtoContract]
public class RowData
{
[ProtoMember(1)]
public object[] Values;
}
[ProtoContract]
public class FieldData
{
[ProtoMember(1)]
public object Value;
}
Run Code Online (Sandbox Code Playgroud)
但是我收到一条错误,上面写着"找不到合适的默认对象编码".是否有一种简单的方法来对待这些类,我只是不知道?
详细说明用例:
这是远程处理中使用的数据类的缩小版本.所以基本上它看起来像这样:
FieldData data = new FieldData();
data.Value = 8;
remoteObject.DoSomething(data);
Run Code Online (Sandbox Code Playgroud)
注意:为简单起见,我省略了ISerializable实现,但它正如您所期望的那样.
是否有tsql查询来告诉它期望用于下一行插入的SQL服务器标识列值?
编辑添加:
我删除并重新创建了一个表
[personID] [int] IDENTITY(1,1) NOT NULL
Run Code Online (Sandbox Code Playgroud)
作为我的CREATE TABLE命令的一部分.我还尝试重新设置标识列,同时删除该表中的所有信息,但这并不总是有效.它让我想知道是否有办法查看SQL预期用于下一个标识列号.
嗨,我在尝试创建此表时收到此错误.你能告诉我如何在更新级联和删除设置空约束上使用.
SQL> create table emp3
2 (
3 Fname varchar2(15)not null,
4 Minit char,
5 Lname varchar(15) NOT NULL,
6 Ssn char(9) NOT NULL,
7 Bdate DATE,
8 Address varchar(30),
9 Sex char,
10 Salary decimal(10,2),
11 Super_ssn char(9) not null,
12 Dno int default 1 not null,
13 CONSTRAINT employee PRIMARY KEY (ssn),
14 CONSTRAINT employeeSUPER FOREIGN KEY(Super_ssn) REFERENCES emp3(Ssn) ON UPD
ATE CASCADE ON DELETE SET NULL );
CONSTRAINT employeeSUPER FOREIGN KEY(Super_ssn) REFERENCES emp3(Ssn) ON UPDATE C
ASCADE …Run Code Online (Sandbox Code Playgroud) 如果有一个具有函数的基类DeriveMe virtual void DoSomething(int)和一个继承DeriveMe的类,它具有一个函数void DoSomething(SomeEnum)DerivedThat ...... DerivedThat是否会覆盖基类DoSomething,因为枚举在C++的编译期间计算为整数?
我可以尝试通过使DoSomething纯虚拟并编译/运行它来查看它是否有效但这是我的第一个stackoverflow问题所以我宁愿问它.
.net ×2
c# ×2
c++ ×1
coerce ×1
constants ×1
css ×1
enums ×1
font-face ×1
fonts ×1
html ×1
identity ×1
inheritance ×1
jquery ×1
literals ×1
ora-00905 ×1
oracle ×1
protobuf-net ×1
python ×1
refactoring ×1
sql ×1
sql-server ×1
string ×1
t-sql ×1
types ×1
web-services ×1