当我用WPF实现MVVM模式时,我发现Resharper经常警告我某些属性从未在我的ViewModels中使用过.问题是它们正在被使用,但只能由数据绑定系统使用.有没有其他人遇到过这种烦恼,有没有办法帮助Resharper意识到这些属性确实被使用了?至少,我很高兴VS 2010正确地认识到[Import]标记的成员不会"永远为空",但希望我也可以解决这个问题.
考虑以下表示订购系统的类:
Public Class OrderBase
Public MustOverride Property OrderItem as OrderItemBase
End Class
Public Class OrderItemBase
End Class
Run Code Online (Sandbox Code Playgroud)
现在,假设我们想要将这些类扩展为更具体的订单类集,保持OrderBase的聚合性质:
Public Class WebOrder
Inherits OrderBase
Public Overrides Property OrderItem as WebOrderItem
End Property
End Class
Public Class WebOrderItem
Inherits OrderItemBase
End Class
Run Code Online (Sandbox Code Playgroud)
WebOrder类中的Overriden属性将导致错误,指出返回类型与OrderBase中定义的类型不同...但是,返回类型是OrderBase中定义的类型的子类.为什么VB不允许这样?
这是我的OpenGL代码的一部分,我得到一个错误:
struct Ball {
float x;
float y;
float rot;
float dir;
bool rmv;
Ball* next;
};
Ball* curBall;
void addBall() {
if (balls==NULL) {
balls=new Ball;
balls->next=NULL;
curBall=balls;
} else {
curBall->next=new Ball;
curBall=curBall->next;
curBall->next=NULL;
}
curBall->x=((float)rand()/(float)(RAND_MAX+1))*(ww-1) +1;
curBall->y=((float)rand()/(float)(RAND_MAX+1))*(wh-1) +1;
curBall->dir=((float)rand()/(float)(RAND_MAX+1))*(2*PI-1) +1;
curBall->rot=((float)rand()/(float)(RAND_MAX+1))*(359) +1;
curBall->rmv=false;
}
Run Code Online (Sandbox Code Playgroud)
error :
In function ‘void addBall()’:
file.cpp:120: warning: integer overflow in expression
file.cpp:121: warning: integer overflow in expression
file.cpp:122: warning: integer overflow in expression
file.cpp:123: warning: integer overflow in expression
Run Code Online (Sandbox Code Playgroud) 'cat/proc/bus/pci/devices'的前几个字段是可以理解的.
字段1 - BusDevFunc
字段2 - 供应商Id +设备Id
字段3 - 中断线字段
4 - BAR 0
和其后的BAR寄存器(0-5).
打印BAR寄存器后,其他字段是什么?具体来说,打印出哪个PCI配置空间寄存器(偏移)?
我正在研究字节码检测项目.目前,在处理对象时,验证程序在大多数情况下都会抛出错误.所以我想清楚地了解有关对象的规则(我阅读了JVMS但找不到我想要的答案):
我正在制定新指令:
原始字节码
NEW <MyClass>
DUP
INVOKESPECIAL <MyClass.<init>>
Run Code Online (Sandbox Code Playgroud)
仪表后
NEW <MyClass>
DUP
INVOKESTATIC <Profiler.handleNEW>
DUP
INVOKESPECIAL <MyClass.<init>>
Run Code Online (Sandbox Code Playgroud)
请注意,我添加了对Profiler.handleNEW()的调用,该调用将对象引用(新创建的对象)作为参数.
上面的代码抛出VerificationError.如果我不添加INVOKESTATIC(只留下DUP),它就不会.那么我违反的规则是什么?我可以复制一个未初始化的引用,但我不能将其作为参数传递?我将不胜感激任何帮助.谢谢
对于这个问题:什么是C#相当于朋友?,我个人已回答"内部",就像Ja在答案中所做的那样!然而,Jon Skeet说在C#中没有直接等价的VB Friend.如果Jon Skeet这么说的话,我就不会这样说了!,P
我想知道当关键字internal(C#)各自的定义是什么时,它们怎么能不等同于Friend(VBNET):
声明语句中的Friend(Visual Basic)关键字指定可以从同一个程序集中访问元素,但不能从程序集外部访问.[...]
内部:访问仅限于当前程序集.
据我了解,这些定义对我来说意义相同.
然后,当我在VB.NET中编码时,我使用Friend关键字来指定只能在声明它的程序集中访问类或属性.在C#中,我使用internal关键字指定相同.
从这个角度来看,我做错了什么吗?
我没有得到什么改进?
有人可以解释一下朋友和内部是如何或不是直接对等的?
提前感谢您的任何答案!
我正在开发一个ASP.NET MVC应用程序,我一直在研究在我的服务层中定义的POCO上使用数据注释.只要我有对System.ComponentModel和System.ComponentModel.DataAnnotations的引用,这没有问题,我喜欢这个,它允许我在Win Forms应用程序中重用我的服务层.
我现在正在寻求使用数据注释进行一些远程验证,并查看了这篇文章:http://msdn.microsoft.com/en-us/library/ff398048(VS.100).aspx
但是,要在此上下文中使用Data Annotations,我需要引用System.Web.MVC,System.Web和System.Web.Routing.这引入了对Web DLL的依赖,这在一定程度上限制了我.
任何人都可以推荐一种很好的清洁方法来使用未与ASP.NET MVC结合的数据注释实现远程数据验证,或者建议更好的替代方案.
谢谢您的帮助 !
我有一个股票报价表,看起来像这样:
id,date,stock_id,value
每个stock_id每天都有几行(每五分钟自动更新一次),所以目前表格相当大.
如何为每个stock_id删除每一行,但每天最后一行?
差不多......我想做这样的事情:
Stream Answer = WebResp.GetResponseStream();
Response.OutputStream = Answer;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我对在开发和生产环境中使用maven感到困惑 - 我确信这很简单,我很遗憾.感谢任何帮助..
我在本地机器上的eclipse中设置了maven并编写了一些软件.我真的很喜欢它包括依赖罐子这样的东西很容易.
这就是我的开发环境.但现在我想在远程服务器上将项目发布到生产中.我搜索了文档,但我无法弄清楚它应该如何工作或maven最佳实践是什么..你应该:
a)还要在生产环境中运行maven,并将所有文件上传到生产环境并在那里重建项目?(我在生产服务器上重建"已发布"代码的想法让我感到不满,所以我很确定这是不对的..)
b)使用mvn:package创建你的jar文件,然后将其复制到生产中?(但那么所有那些好的依赖项是什么?是不是存在一个危险,你的测试代码现在将在生产环境中针对不同版本的从属jar运行,可能会破坏你的代码?或者缺少一个jar ...? )
c)其他我不知道的东西..
在此先感谢您的帮助!
.net ×2
c# ×2
java ×2
bytecode ×1
c#-to-vb.net ×1
c++ ×1
covariance ×1
inheritance ×1
keyword ×1
linux ×1
maven-2 ×1
mvvm ×1
mysql ×1
overriding ×1
pci-bus ×1
poco ×1
procfs ×1
resharper ×1
sql ×1
vb.net ×1
vb.net-to-c# ×1
verification ×1
warnings ×1
webrequest ×1
wpf ×1