很多时候我不确定某个特定方法是否应该是私有的.例如,我正在建立一个班级,负责生成报告.这个类有一个buildReport方法和几个收集buildReport必要数据的方法.
// single public method
// uses a set of helper methods
public buildReport()
// helper methods
private avgSurveyTime()
private fetchVendors()
private fetchSendCounts()
private ...
Run Code Online (Sandbox Code Playgroud)
我在争论是否应该公开这些辅助方法.我此刻打算在外面打电话的唯一方法是buildReport()
.但是,仅获取供应商列表fetchVendors()
等可能会很有用.
我看到两种思想流派:你总能尽可能少地暴露出来.(在这种情况下,我的许多类只有一个公共方法)或者你可以公开所有可能对类的用户有用的东西.
是否有一个很好的经验法则用于决定何时应该公开/私有方法?
通过基本的 T4模板,我的意思是不使用T4 Toolkit或任何加载项.
我的T4有点复杂,但我现在想保持自足.有没有办法在T4模板中有功能而不引用外部组件?
我正在构建一个应用程序,我想将多个查询批处理到一个数据库的往返.例如,假设单个页面需要显示用户列表,组列表和权限列表.
所以我存储了procs(或者只是简单的sql命令,比如"select*from Users"),我想执行其中的三个.但是,为了填充这一页,我必须进行3次往返.
现在我可以编写单个存储过程("getUsersTeamsAndPermissions")或执行单个SQL命令"select*from Users; exec getTeams; select*from Permissions".
但我想知道是否有更好的方法来指定在一次往返中进行3次操作.好处包括更容易进行单元测试,并允许数据库引擎将查询并行化.
我正在使用C#3.5和SQL Server 2008.
我正在尝试将测试设置文件添加到VS2010中的单元测试项目中.所有网站似乎只是简单地说"转到添加新项目>已安装的模板>测试设置".但是,我的"已安装模板"中没有"测试设置"作为选项(在线搜索它们也不会显示任何结果).
有人能指出我正确的方向,我需要做什么吗?
此查询似乎有效,但我有0结果.
IEnumerable<XElement> users =
(from el in XMLDoc.Elements("Users")
where (string)el.Attribute("GUID") == userGUID.ToString()
select el);
Run Code Online (Sandbox Code Playgroud)
我的XML如下:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Users>
<User GUID="68327fe2-d6f0-403b-a7b6-51860fbf0b2f">
<Key ID="F7000012ECEAD101">
...
</Key>
</User>
</Users>
Run Code Online (Sandbox Code Playgroud)
你有什么线索可以解释这个问题吗?
我有一堆.dll
装配,比如HtmlAgilityPack
和MoreLinq
.我应该把这些文件放在哪里?我经常把它扔到我Projects
文件夹的某个地方,但后来我总是在为他们挖掘.是否有标准的地方放置它们?
在失败的情况下,代码类似于:
error: function(msg)
Run Code Online (Sandbox Code Playgroud)
它msg
来自哪里?
编辑:
我正在使用此函数($ ajax)来调用WEB服务.因此,如果投票给谁的人可以向我解释msg来自哪里会很棒!我是否在Web服务中设置它?如果是这样,怎么样?请不要复制和粘贴定义.
我在第一页的asp.net会话中存储了一些值.在下一页上,正在读取此会话值.但是,如果打开了多个选项卡并且有多个页面1->第2页导航,则会话中存储的值会混淆,因为会话在浏览器选项卡之间共享.
我想知道这有什么选择:
查询字符串:使用查询字符串在页面之间传递值,我不想采用这种方法,因为第1页上可能有多个锚标记链接到第2页,我不能重写每个标记的URL,因为它们是动态的.
饼干???内存中的cookie也可以在浏览器选项卡中共享,与会话cookie,rite相同?
还有其他选择吗?
PS:第1页到第2页不是表单提交.
我希望能够在应用程序中加载任何页面的任何时候运行脚本.有什么地方我可以简单地添加这个吗?或者我是否必须在每个页面加载中添加代码?
.net ×6
c# ×5
asp.net ×2
oop ×2
ado.net ×1
ajax ×1
data-access ×1
jquery ×1
linq ×1
linq-to-xml ×1
overloading ×1
sql-server ×1
t4 ×1
unit-testing ×1
xml ×1