基本上,我有类似以下内容:
public string SomeDBMethod(string server, string dbName, string userName, string password,...)
Run Code Online (Sandbox Code Playgroud)
将其重构为以下内容是否是一种好的做法:
public string SomeDbMethod(DBParams parameters, ...)
Run Code Online (Sandbox Code Playgroud)
其中 DBParams 定义如下:
public struct DBParams
{
string Server {get;set;}
string DbName {get;set;}
string UserName {get;set;}
string Password {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我的观点是真正能够传递更少的参数,因为我发现具有长参数列表的函数确实非常难看。
我还发现这种方法有一些限制:如果 SomeDbMethod 要作为 Web 服务方法公开,我不能使用 DBParams 结构作为参数(据我对 Web 服务主题的理解...不是很远)。
那么,这是否太麻烦而没有什么好处,还是我在这里做了一些事情?
通常在Firebug上,当检查元素时,我得到一个字体列表,并且实际上需要转到系统的Fonts文件夹并逐个检查名称以查看是否正在使用它.有没有办法显示使用Firebug直接使用的字体?
或者如果Firebug没有此功能,那么任何其他附加组件都可以吗?
刚刚找到了一些代码,这里有人为了访问一些数据库实体而编写的...
public static OurCustomObject GetOurCustomObject(int primaryKey)
{
return GetOurCustomObject<int>(primaryKey, "usp_GetOurCustomObjectByID");
}
public static OurCustomObject GetOurCustomObject(Guid uniqueIdent)
{
return GetOurCustomObject<Guid>(uniqueIdent, "usp_GetOurCustomObjectByGUID");
}
private static OurCustomObject<T>(T identifier, string sproc)
{
if((T != typeof(int)) && (T == typeof(Guid)))
{
throw new ArgumentException("Identifier must be a string or an int");
}
//ADO.NET Code to make DB Call with supplied sproc.
}
Run Code Online (Sandbox Code Playgroud)
只是它的东西看起来不是很好generic.将sprocs传递到内部方法的事实感觉很难看.但我能看到的唯一方法就是在私有方法中使用if/else
if(type == int)
sproc = "GetByID";
else if (type == Guid)
sproc = "GetByGUID";
Run Code Online (Sandbox Code Playgroud)
此外抛出的异常看起来也很丑......无论如何都要使用where T:子句
例如
private static OurCustomObject<T>(T …Run Code Online (Sandbox Code Playgroud) 我想在我的消息框上设置进度条如何设置...进度条属性样式有Marquee属性.....消息框代码是波纹管.......
MessageBox.Show("Data process please wait .", "Data progress ", MessageBoxIcon.Information);
Run Code Online (Sandbox Code Playgroud) 这里显而易见的事情应该很容易......
如何在运行时检索已安装插件的列表?看不到一个明显的方法,Platform.getBundle()需要一个特定的插件名称.
这可能是出于某种安全原因的限制吗?
我正在使用Ant 1.7.0并安装了JAVA_HOME中的java 1.6.
我想用java 1.5构建一个项目,所以我将JAVA_HOME导出为我的java 1.5目录.
java -version
Run Code Online (Sandbox Code Playgroud)
说"1.5".当我运行Ant时,它使用java 1.6.
任何人都可以告诉我在.net Web应用程序中使用IIS/HTTP压缩.我的系统中安装了iis 6.0.如何激活压缩.
实时测试性能真的有帮助吗?
我的网页非常慢,一个分析工具(网页ANlyzer)说文件没有压缩.请指教.
我有多个NUnit测试,我希望每个测试都使用特定的app.config文件.有没有办法在每次测试之前将配置重置为新的配置文件?
我正在asp.net网站上工作.网站使用了很多javascript插件,包括书签按钮(addthis),谷歌adsense,Admanager标签,社会书签按钮等.
页面加载速度很慢,即使我一直在使用像FireBug这样的工具,我也无法弄清楚为什么我的页面加载速度太慢.
有没有办法找出哪个javascript导致页面加载缓慢?或找出罪魁祸首并把它拿出来?
请对我好一点,因为我刚刚开始使用这些东西.
我正在创建一个证书分发系统来跟踪客户和东西.
会发生什么:
所以在客户端会发生这种情况:
//Pseudo Server Object:
Server s = new Server();
//Requested Certificate Name and things
X509Name name = new X509Name("CN=Client Cert, C=NL");
//Key generation 2048bits
RsaKeyPairGenerator rkpg = new RsaKeyPairGenerator();
rkpg.Init(new KeyGenerationParameters(new SecureRandom(), 2048));
AsymmetricCipherKeyPair ackp = rkpg.GenerateKeyPair();
//PKCS #10 Certificate Signing Request
Pkcs10CertificationRequest csr = new Pkcs10CertificationRequest("SHA1WITHRSA", name, ackp.Public, null, ackp.Private);
//Make it a nice PEM thingie
StringBuilder sb = new StringBuilder();
PemWriter pemwrit = new PemWriter(new StringWriter(b));
pemwrit.WriteObject(csr);
pemwrit.Writer.Flush();
s.SendRequest(sb.ToSting());
Run Code Online (Sandbox Code Playgroud)
好吧我会跳过服务器端只要相信我服务器签署证书并将其发送回客户端.多数民众赞成在那里我会采取行动.
PemReader pr …Run Code Online (Sandbox Code Playgroud) c# ×4
.net ×3
ant ×1
app-config ×1
asp.net ×1
bouncycastle ×1
cryptography ×1
csr ×1
eclipse ×1
firebug ×1
generics ×1
iis ×1
java ×1
javascript ×1
messagebox ×1
nunit ×1
parameters ×1
performance ×1
plugins ×1
rsa ×1
struct ×1
winforms ×1