最近的一个项目让我再次使用C#,我注意到之前没有的东西--C#的Intellisense显示了调用方法时可能抛出的异常
由于我主要使用VB.NET应用程序,因此在这些应用程序中使用此功能真的很不错,但遗憾的是,它缺少VB的Intellisense
有没有快速简便的方法我可以自定义Visual Studio的Intellisense来显示异常(以及XML注释中的其他成员)?或者我正在使用SDK查看完整修改?
更新:2008年9月29日下午1:49 - 我认为这比简单地更改配置设置更复杂.由于注释是基于XML的,我希望在Visual Studio目录中隐藏一个XSLT文件,但到目前为止还没有任何内容.看起来我将不得不深入研究Visual Studio SDK.
Stackoverflow如何实现可调整大小的textarea?
这是他们自己推出的东西,还是我可以轻松附加到我网站上的textareas的公开组件?
我发现了这个问题并没有完全符合我的要求.
这更多地讲述了自动调整textareas的大小,而我想要一个可以上下拖动的小抓取区域.
当您使用生产者/消费者关系设计两个类时,如何避免循环依赖?这里ListenerImpl需要对Broadcaster的引用才能注册/取消注册,而Broadcaster需要一个引用回侦听器才能发送消息.此示例使用Java,但它可以应用于任何OO语言.
public interface Listener {
void callBack(Object arg);
}
public class ListenerImpl implements Listener {
public ListenerImpl(Broadcaster b) { b.register(this); }
public void callBack(Object arg) { ... }
public void shutDown() { b.unregister(this); }
}
public class Broadcaster {
private final List listeners = new ArrayList();
public void register(Listener lis) { listeners.add(lis); }
public void unregister(Listener lis) {listeners.remove(lis); }
public void broadcast(Object arg) { for (Listener lis : listeners) { lis.callBack(arg); } }
}
Run Code Online (Sandbox Code Playgroud) 这个XML文件包含了去年全年的归档新闻报道.我被要求按故事分类[y | ies]将这些故事分类为新的XML文件.
big_story_export.xml
Run Code Online (Sandbox Code Playgroud)
变成
lifestyles.xml
food.xml
nascar.xml
Run Code Online (Sandbox Code Playgroud)
...等等.
我使用一次性python脚本完成了工作,但是,我最初使用XSLT尝试了这个.这导致了沮丧,因为我的XPATH选择正在瘫痪床.测试文件被完美地转换,但是将大文件放在我的样式表上导致...... 没有.
您建议采取哪些策略来确保此类文件通过XSLT运行?这是由供应商交给我的,所以想象一下,在定义这个文件的结构时我没有太大的影响力.
如果你们想要代码样本,我会把它们放在一起.
如果有的话,我会对使XML + XSLT顺利合作的一些技巧感到满意.
@Sklivvz
我使用python的libxml2和libxslt来处理它.我现在正在研究xsltproc.
对于这些一次性情况来说,这似乎是一个很好的工具.谢谢!
@季奥米季斯,spinellis
尽管如此(如上所述)我没有能力去发现它的有效性.
至于编写Schema,我喜欢这个想法.
如果这是一次性的话,我投入一次验证这个文件的时间是不切实际的,尽管我预见必须从我们的供应商那里处理更多这样的文件.
编写模式(并将其提交给供应商)对于管理这样的XML funk来说是一个很好的长期策略.谢谢!
嗯,这似乎很简单,但我找不到一种方法来为方程添加标题.需要使用标题来解释方程中使用的变量,所以某些类似于表格的结构使它们保持一致并且非常漂亮.
像许多项目一样,我们部署到许多环境,QA,UA,开发人员中继等.
在SVN中存储敏感配置参数的最佳方法是什么?或者,您是否应该只在服务器上维护一个带有凭据的较小的无版本文件?
主要是,我们不希望向每个开发人员公开生产凭证.
我喜欢使用STL开发算法,但是,我有这个反复出现的问题,我的数据集对于堆来说太大了.
我一直在寻找支持磁盘的STL容器和算法的直接替换,即存储在磁盘而不是堆上的数据结构.
一位朋友最近向我指出了stxxl.在我太介入之前......我应该考虑使用其他任何支持磁盘的STL替换吗?
注意:我对持久性或嵌入式数据库不感兴趣.请不要提及boost :: serialization,POST ++,Relational Template Library,Berkeley DB,sqlite等.我知道这些项目并在它们适合我的目的时使用它们.
更新:有几个人提到了内存映射文件和使用自定义分配器,BTW提出了很好的建议,但我想指出他们在这里讨论David Abraham建议磁盘支持的容器需要自定义迭代器.这意味着自定义分配器方法不太可行.
我和我的同事一直在争论Pascal套管(上骆驼套管)与较低的CamelCasing.它们用于降低骆驼外壳,从SQL数据库中的表名到C#代码中的属性命名,但我更喜欢Pascal外壳,更低的驼峰外壳用于变量和Pascal外壳用于属性:
string firstName;
public string FirstName {
...
}
Run Code Online (Sandbox Code Playgroud)
但是他们习惯了这个:
string _firstname;
public string firstName {
...
}
Run Code Online (Sandbox Code Playgroud)
我试着跟上他们的"标准",所以代码看起来一样,但我不喜欢它.
我已经看到至少.NET框架使用这个约定,这就是我试图保留我的代码的方式,例如:
System.Console.WriteLine("string")
Run Code Online (Sandbox Code Playgroud)
你用什么/喜欢什么?为什么?我很抱歉,如果有人问过这个问题,但我搜查了一下,没有找到任何东西.
更新: 我给出了一个方法示例而不是属性,但它是相同的.正如我在第一段中所述,我的同事们使用Pascal约定(变量,方法,表名等)
我正在研究一种基于注释的方法来使用spring模块验证Spring bean .在本教程中,以下bean(省略了getters和setter)用作示例:
public final class User {
@NotBlank
@Length(max = 80)
private String name;
@NotBlank
@Email
@Length(max = 80)
private String email;
@NotBlank
@Length(max = 4000)
private String text;
}
Run Code Online (Sandbox Code Playgroud)
如果违反特定验证规则,则使用的错误消息应遵循以下格式:
bean-class.bean-propery[validation-rule]=Validation Error message
Run Code Online (Sandbox Code Playgroud)
上面显示的类的示例包括:
User.email[not.blank]=Please enter your e-mail address.
User.email[email]=Please enter a valid e-mail address.
User.email[length]=Please enter no more than {2} characters.
Run Code Online (Sandbox Code Playgroud)
消息键包含类名的事实存在一些问题:
如果我有另一个类(例如Person),其电子邮件属性与User.email相同,我需要复制消息,例如
Person.email [not.blank] =请输入您的电子邮件地址.
Person.email [email] =请输入有效的电子邮件地址.
Person.email [length] =请输入不超过{2}个字符.
实际上,文档声称可以为特定规则(例如@Email)配置默认消息,如下所示:
email=email address is invalid
Run Code Online (Sandbox Code Playgroud)
如果找不到规则的特定于bean的消息,则应使用此缺省消息.但是,我的经验是,这根本不起作用.
避免重复消息的另一种机制是将错误消息的密钥传递给规则注释.例如,假设我已为@Email规则定义了以下默认错误消息
badEmail=Email address is …
Run Code Online (Sandbox Code Playgroud)