typedef union _Value {
signed char c;
unsigned char b;
signed short s;
unsigned short w;
signed long l;
unsigned long u;
float f;
double *d;
char *p;
} Value;
typedef struct _Field {
WORD nFieldId;
BYTE bValueType;
Value Value;
} Field;
typedef struct _Packet {
WORD nMessageType;
WORD nSecurityType;
BYTE bExchangeId;
BYTE bMarketCenter;
int iFieldCount;
char cSymbol[20];
Field FieldArr[1];
} Packet;
Run Code Online (Sandbox Code Playgroud)
这些C++结构的C#等价物是什么?
我正在将一些代码从C++迁移到C#,并且在迁移这些结构时遇到问题.我曾尝试过一些东西,但我总是遇到编组问题.
我正在尝试为名为Product的Linq2SQL实体实现Edit ViewModel.它有一个与品牌列表相关联的外键.
目前我通过ViewData填充品牌列表并使用DropDownListFor,因此:
<div class="editor-field">
<%= Html.DropDownListFor(model => model.BrandId, (SelectList)ViewData["Brands"])%>
<%= Html.ValidationMessageFor(model => model.BrandId) %>
</div>
Run Code Online (Sandbox Code Playgroud)
现在我想重构视图以使用强类型的ViewModel和Html.EditorForModel():
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<%=Html.EditorForModel() %>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
Run Code Online (Sandbox Code Playgroud)
在我的编辑ViewModel中,我有以下内容:
public class EditProductViewModel
{
[HiddenInput]
public int ProductId { get; set; }
[Required()]
[StringLength(200)]
public string Name { get; set; }
[Required()]
[DataType(DataType.Html)]
public string Description { get; set; }
public IEnumerable<SelectListItem> Brands { get; set; }
public int BrandId { …Run Code Online (Sandbox Code Playgroud) 在我们的遗留Java EE应用程序中,有许多值对象(VO)类,它们通常只包含getter和setter,也许equals()和hashCode().这些(通常)是要在持久性存储中保存的实体.(为了记录,我们的应用程序没有EJB - 尽管未来可能会发生变化 - 我们使用Hibernate来持久保存我们的实体.)操作VO中数据的所有业务逻辑都在不同的类中(不是EJB,只是POJO) ).我的OO心态讨厌这个,因为我确实认为给定类的操作应该驻留在同一个类中.所以我强烈要求重构将逻辑转移到相关的VO中.
我刚刚与一位在Java EE方面比我更有经验的同事进行了讨论,并且他证实了愚蠢的实体至少曾经是推荐的方式.不过,他最近也阅读了有关这一立场有效性的意见.
我知道有些问题至少限制了实体类中的内容:
有没有更合理的理由不将逻辑移入我的实体?还是要考虑其他任何问题?
我被要求编写一些与使用TAPI API的电话系统集成的.NET代码.我读到这个API没有.NET接口(http://support.microsoft.com/kb/841712).是否有适合TAPI的第三方.NET界面?或者任何人都可以指出我正确的方向开始?
使用&如果变量类型已超载获取变量的地址可能会有问题operator&().例如,_com_ptr_已经operator&()重载,具有修改对象的副作用.
现在我有一组复杂的模板,其功能如下:
template<class T>
void process( const T* object )
{
//whatever
}
template<class T>
void tryProcess( T& object )
{
process( &object )
}
Run Code Online (Sandbox Code Playgroud)
在tryProcess()我需要得到一个T*字保存类型的实际对象的地址T.
tryProcess()如果class T没有operator&()重载,上面的实现只会正常工作.所以,如果我打电话,tryProcess<_com_ptr_<Interface>>()我可以得到意想不到的结果 - 重载operator&()被触发.
template<class T>
T* getAddress( T& object )
{
return reinterpret_cast<T*>( &reinterpret_cast<char&>( object ) );
}
Run Code Online (Sandbox Code Playgroud)
有了这样的功能,我可以实现tryProcess()如下:
template<class T>
void tryProcess( …Run Code Online (Sandbox Code Playgroud) 我注意到一些奇怪的事情 - 当我用WHERE field=1和执行查询时,MySQL正在返回两个不同的数据集WHERE field='1'.
在field被定义为枚举( '0', '1', '2').
我怎么可能获得不同的数据集?
对于第一个查询,我得到大约500条记录.第二次,我得到19(!!!).
我无法解释.有任何想法吗?
谢谢,Boda Cydo.
我现在还没有想到这一点.
直到现在每当设备要求我使用位置更新时我都允许它.
但是现在我不允许它,位置管理器给我kclErrorDenied并且位置管理器在重新启动应用程序之前无法再次启动.
所以我的问题是,我应该给用户重新启动应用程序的消息,还是有解决方案再次开始使用位置管理器.
谢谢 .
The Error :
ERROR,Time,288787555.078,Function,"void CLClientHandleDaemonDataRegistration(__CLClient*, const CLDaemonCommToClientRegistration*, const __CFDictionary*)",server did not accept client registration 1
WARNING,Time,288787555.108,Function,"void CLClientHandleDaemonInvalidation(__CFMessagePort*, void*)",client 1308.0 has been disconnected from daemon
locationManager:didFailWithError:] [Line 244] Error Denied :Error Domain=kCLErrorDomain Code=1 "Operation could not be completed. (kCLErrorDomain error 1.)"
Run Code Online (Sandbox Code Playgroud) 我能够使用NSTokenField,它很容易使用..但我想知道如何自定义它就像它在mac邮件中的"To/CC"字段中那样.什么时候没有 令牌字段中的令牌增加"To"字段的高度增加到某个限制然后垂直卷轴开始出现!
默认情况下,当我们使用标记字段时,其高度不会增加,也不会出现垂直滚动条!我在IB中尝试了不同的组合,但我无法获得类似功能的mac邮件.
谁能建议我一些解决方案?
我想更改django bydfault管理面板标题栏,其中包含django管理.实际上我想用我的网站名称替换django管理.
我有一个对象的列表,在我们的例子中被称为规则,这个对象本身是一个字段列表,我必须对其进行哈希码比较,因为我们不能在系统中复制规则.
即假设我有两个规则R1和R2,字段为A和B.
现在,如果R1中A和B的值分别为7和2.
在R2中它分别是3和4然后我用来检查系统中规则的重复性的过程是哈希码比较失败
我使用的方法是
for(Rule rule : rules){
changeableAttrCode=0;
fieldCounter=1;
attributes = rule.getAttributes();
for(RuleField ruleField : attributes){
changeableAttrCode = changeableAttrCode + (fieldCounter * ruleField.getValue().hashCode());
fieldCounter++;
}
parameters = rule.getParameters();
for(RuleField ruleField : parameters){
changeableAttrCode = changeableAttrCode + (fieldCounter * ruleField.getValue().hashCode());
fieldCounter++;
}
changeableAttrCodes.add(changeableAttrCode);
Run Code Online (Sandbox Code Playgroud)
这里是changeableAttrCodes,我们存储所有规则的哈希码.
那么请建议我更好的方法,以便将来不会出现这种问题,也可以看出系统中的规则错误.
提前致谢
c++ ×2
java ×2
.net ×1
apple-mail ×1
asp.net-mvc ×1
c# ×1
casting ×1
cocoa ×1
django ×1
django-admin ×1
entity ×1
hashcode ×1
iphone ×1
java-ee ×1
marshalling ×1
mvvm ×1
mysql ×1
nsscroller ×1
nstokenfield ×1
oop ×1
python ×1
struct ×1
tapi ×1
visual-c++ ×1