可能重复:
C++中的"翻译单元"是什么
通常说在C/C++中声明的静态变量在编译单元中是不可见的?这是否意味着每个.c或.cpp文件是一个单独的编译单元?那个.h文件和.h文件中声明的静态变量怎么样?.h文件是否也被视为一个单独的编译单元?
我不确定我要做的是正确的,所以我首先告诉你我的问题.我有TFS作为Bugtracking系统和另一个跟踪工作时间的系统.我希望如果工作项状态发生变化,其他系统也会更改状态.
我到现在所做的是以下内容.
我为TFS Web服务写了一个插件,我抓住了WorkItemChangedEvent.
public EventNotificationStatus ProcessEvent(TeamFoundationRequestContext requestContext, NotificationType notificationType, object notificationEventArgs,
out int statusCode, out string
statusMessage, out ExceptionPropertyCollection properties)
{
statusCode = 0;
properties = null;
statusMessage = String.Empty;
try
{
if (notificationType == NotificationType.Notification && notificationEventArgs is WorkItemChangedEvent)
{
WorkItemChangedEvent ev = notificationEventArgs as WorkItemChangedEvent;
EventLog.WriteEntry("WorkItemChangedEventHandler", "WorkItem " + ev.WorkItemTitle + " was modified");
}
}
catch (Exception)
{
}
return EventNotificationStatus.ActionPermitted;
}
Run Code Online (Sandbox Code Playgroud)
我在C:\ Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\bin\Plugins中删除了DLL,但我看起来从未调用过扩展名.所以事件日志中没有任何内容.
但是,如果我尝试调试服务,请参阅此文章http://geekswithblogs.net/jakob/archive/2010/10/27/devleoping-and-debugging-server-side-event-handlers-in-tfs-2010. aspx 我不能挂钩这个过程.所以调试不起作用.为什么我不能调试服务?还有更好的方法吗?
我无法理解如何在Clojure中创建一个懒惰的序列.
宏的文档对我来说一点也不清楚:
用法:(lazy-seq&body)获取一个返回ISeq或nil的表达式体,并生成一个Seqable对象,该对象仅在第一次调用seq时调用body,并将缓存结果并在随后的所有内容中返回seq电话.
我见过的所有例子似乎都是这样的:
; return everything in the sequence starting at idx n
(defn myseq-after-n [n]
(...)
)
(def my-lazy-seq
(lazy-seq (conj [init-value] (myseq-after-n 2)))
)
Run Code Online (Sandbox Code Playgroud)
所以,我没有得到的第一件事是,因为lazy-seq不在调用conj之外,它是如何阻止conj在评估时生成无限序列的?
我的第二个问题是,懒惰的序列定义总是采用这种一般形式吗?
我正在从MVC控制器动作返回一个JsonResult,并且一直试图删除一个属性但没有太多的快乐.
return Json(db.Pages.ToList(), JsonRequestBehavior.AllowGet);
Run Code Online (Sandbox Code Playgroud)
我已经尝试装饰我的课程
[IgnoreDataMember]
Run Code Online (Sandbox Code Playgroud)
属性,并在类的其他属性上使用[DataContract]和[DataMember]属性,但这似乎被忽略.
我在这里发现了一个帖子,它声明以这种方式返回json将使用JavaScriptSerializer,我尝试使用[ScriptIgnore],但vs2010不会将此识别为有效属性.http://teamezy.blogspot.com/2008/12/making-jsonresult-in-mvc-ignore.html
我是否需要以不同的方式返回数据才能使IgnoreDataMember或DataContract/DataMember工作?
我对"设计模式"相对较新,因为它们在正式意义上被提及.我很久没有成为一名专业人士,所以我对此很陌生.
我们有一个纯虚拟接口基类.这个接口类显然是提供了派生子进程应该做什么功能的定义.软件中的当前用法和情况决定了我们想要使用什么类型的派生子,因此我建议创建一个包装器,它将传达我们想要的派生子类型,并返回指向新派生对象的Base指针.据我所知,这个包装器是一个工厂.
好吧,我的一位同事在Base类中创建了一个静态函数来充当工厂.这有两个原因导致我麻烦.首先,它似乎打破了Base类的接口性质.我认为界面本身需要知道从中衍生出来的孩子,这对我来说是错误的.
其次,当我尝试在两个不同的Qt项目中重用Base类时,会导致更多问题.一个项目是我实现第一个(可能只是这个类的真正实现......虽然我想对其他两个具有几个不同派生类的特性使用相同的方法)派生类,第二个是实际最终将使用我的代码的应用程序.在我编写代码时,我的同事创建了一个派生类,作为真实应用程序的测试人员.这意味着我必须将他的标题和cpp文件添加到我的项目中,这似乎是错的,因为我在实现我的部分时甚至没有使用他的代码用于项目(但是当它完成时他将使用我的).
我是否正确认为工厂真的需要成为Base类的包装而不是作为工厂的Base?
我正在使用Entity Framework 4开发一个ASP.Net MVC 3 Web应用程序.当用户登录我的应用程序时,我想将他们的用户实体(firstName,lastName等)存储在一个会话中,然后可以在整个应用程序中访问.
我知道这可能不是一个好主意,因为当ObjectContext关闭/处置时,User实体被分离,用户细节可能会丢失.
我认为另一种方法可能是,当用户登录时,将userID(主键)分配给会话变量,即:
HttpContext.Current.Session["currentUserID"] = user.userID;
Run Code Online (Sandbox Code Playgroud)
然后在UserService类中创建一个类,如下所示:
public static User CurrentUser
{
get
{
return Data.DBEntities.Users.Where(u => u.userID == HttpContext.Current.Session["currentUserID"]).FirstOrDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
哪个应该基于currentUserID会话变量返回用户实体.这不适合我,但是我遇到了一些错误
Cannot convert lambda expression to type 'string' because it is not a delegate type
Delegate 'System.Func<Asset.Model.User,int,bool>' does not take 1 arguments
Run Code Online (Sandbox Code Playgroud)
这种方法我采取的是正确的,还是有更好的方法?
任何反馈都将非常感激.
我在employee_controller.php文件中有控制器类EmployeeController,我在employee.php中有一个模型类Employee,数据库表是员工,所有函数都正常工作(比如findall()和read()工作正常),但我有添加功能,就像这样
function add() {
if (!empty($this->data)) {
if ($this->Employee->save($this->data)) {
$this->Session->setFlash('Employee has been saved.');
$this->redirect(array('action' => 'index'));
}
Run Code Online (Sandbox Code Playgroud)
当我试图保存时,将找不到找不到EmployeesController的错误并显示以下代码
<?php
class EmployeesController extends AppController {
var $name = 'Employees';
}
?>
Run Code Online (Sandbox Code Playgroud)
我无法解决这个问题,请帮我解决这个问题
我在RAD中收到以下错误:
java.net.URISyntaxException: Illegal character in path at index 16: file:/E:/Program Files/IBM/SDP/runtimes/base......
Run Code Online (Sandbox Code Playgroud)
你能否告诉我这是什么错误以及如何解决?
Jquery-mobile支持以下事件:
http://jquerymobile.com/demos/1.0a3/docs/api/events.html
如何在移动设备上获取点击事件(例如图像内)的位置?
$('#myimg').bind('tap', function(e){
var x = ???;
var y = ???;
alert([x, y]);
})
Run Code Online (Sandbox Code Playgroud) 我是Android的新手,到目前为止我一直在使用AVD来调试我的应用程序.但是,我想开始检查媒体选项以及开始使用我的Android手机的需求.如何让Eclipse将我的应用程序加载到手机而不是我的AVD?