我有一些用于某些RESTful服务的XSD架构.当与xsd.exe工具结合使用以生成C#代码时,XSD会xs:date生成以下代码:
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
public System.DateTime time {
get {
return this.timeField;
}
set {
this.timeField = value;
}
}
Run Code Online (Sandbox Code Playgroud)
将XML反序列化为使用XmlSerializerall的对象似乎很好.我面临的问题是服务要求将日期格式化为YYYY-MM-DD hh:mm:ss,并且XSD生成的代码似乎只生成YYYY-MM-DD.
如果我手动修改XSD以进行xs:dateTime输入,则生成的C#代码会产生:2010-08-20T20:07:03.915039Z.
基本上,我如何强制序列化生成YYYY-MM-DD hh:mm:ss?是否可以对XSD做些什么或者我可以做些什么来改变生成的C#代码?
我System.Web.Helpers.Json用于将一些JSON反序列化到dynamicNET 4中.以下行失败并出现此错误:TypeInitializationException: Attempt by method 'System.Web.Helpers.Json..cctor()' to access method 'System.Web.Helpers.Json.CreateSerializer()' failed.
var json = Json.Decode(response);
Run Code Online (Sandbox Code Playgroud)
这response是一个冗长但有效的JSON.这可能是什么问题?我试过LINQPad和一个简短的手工JSON,它的工作原理.这是某种配置问题吗?
[编辑]
这是实际的JSON示例.看起来内容几乎无关紧要.当它在一个全新的控制台应用程序或LINQPad中运行时,它按预期工作.但是,如果您尝试从全新的Windows窗体应用程序运行相同的代码,则会出现上述错误.
var json = Json.Decode("{\"r\":{\"0\":{\"id\":\"2\"},\"1\":{\"id\":\"33\"}}}");
Run Code Online (Sandbox Code Playgroud)
[EDIT2]
实际上,事实证明这与项目类型无关.如果正在调试项目,则抛出异常.如果只是运行,则不会发生异常.奇怪,是吗?
我正在使用std::string的find()方法来测试字符串是否是另一个字符串的子字符串.现在我需要不区分大小写的同一件事.对于字符串比较,我总是可以转向,stricmp()但似乎没有stristr().
我找到了各种答案,大多数建议使用Boost哪个不是我的选择.另外,我需要支持std::wstring/ wchar_t.有任何想法吗?
我正在运行Visual Studio 2010.我有一个XSD架构,并希望使用xsd.exe工具生成适当的C#文件.我已经从命令行成功完成了这项工作,但现在我想从IDE中做同样的事情.
有一些众所周知的路线吗?我已经设法使用预构建事件,但我讨厌在每个构建上运行该工具.通常,它只应在XSD更改时运行.
将生成的.cs文件添加到项目中会将其置于同名的.xsd下,因此IDE知道它们是相关的.
我知道我可以在我的.xsd上设置"自定义工具",但我不确定它是否达到了预期的效果.我希望有一种更直接的方式.
最终,VS2010无法执行XSD.EXE,因为它位于SDK文件夹中,而VS已知的路径显然不包含它.
欢迎任何建议!
考虑以下非常简化的示例.
<n></n>
<k></k>
<m></m>
<k></k>
Run Code Online (Sandbox Code Playgroud)
如何k在m节点后搜索第一个兄弟?基本上,找到一些节点,然后继续从该节点进行搜索.
DataGrid当一个列定制供应两者CellTemplate和时,我遇到了WPFToolkit的问题CellEditingTemplate.如果你看一下下面,你会看到我的编辑模板有一个CheckBox.在功能意义上一切都很好但是当点击F2来编辑单元格时,还必须点击TAB才能CheckBox获得焦点.理想情况下,人们会点击F2和SPACE来切换值.目前,必须打F2,TAB,SPACE.我试过设置TabIndex无济于事.我的想法已经不多了.
<WPFToolkit:DataGridTemplateColumn Header="Turn"
MinWidth="60">
<WPFToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Height="16">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding CanTurn}" Value="True">
<Setter Property="Source" Value="/Images/16/Tick.png" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</DataTemplate>
</WPFToolkit:DataGridTemplateColumn.CellTemplate>
<WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=CanTurn}" HorizontalAlignment="Center" HorizontalContentAlignment="Center" />
</DataTemplate>
</WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
</WPFToolkit:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud) 我想检测何时将SD(或其他卡)插入读卡器.我知道WM_DEVICECHANGE但是我需要在给出驱动器号的情况下获取特定的设备类型信息.例如,我想区分读卡器中的任何卡与"普通"闪存驱动器.GetDriveType()似乎不够精致.我的其他选择是什么?
我对Windows 7解决方案感到满意.我不需要向后兼容.
这种改进是否全部可能?
我发现这个主题没有提供令人满意的答案.这个感觉就像是要走的路,但是没有示例代码的示例代码或指针.令人难以置信的是,没有人将这样一个共同请求的工作样本拼凑在一起.
[编辑]
我也发现了这个.提供的样本有一些错误,但在修复后我仍然没有得到任何结果.对于具有插入SD卡的设备,我收到了BusTypeUnknown,而不是BusTypeSd在pDeviceDesc.BusType.这似乎很简单,但仍然失败了.
我试图在Visual Studio 2010中静态初始化以下结构:
struct Data
{
int x;
union
{
const Data* data;
struct {int x; int y; };
};
};
Run Code Online (Sandbox Code Playgroud)
以下是失败的error C2440: 'initializing' : cannot convert from 'Data *' to 'char'.
static Data d1;
static Data d = {1, &d1};
static Data d2 = {1, {1, 2}};
Run Code Online (Sandbox Code Playgroud)
我已经找到了一些可以正确初始化的方法的引用,但它们都不能在VS2010中工作.有任何想法吗?
我需要浮出来一些内容出来的ListBox所指定的DataTemplate一个ListBox.ItemTemplate.我正在使用,RenderTransform但内容被限制在ListBox边界上.ClipToBounds是False整个视觉树.
我已经读过WPF内部执行一些剪辑的地方,即使没有指定专用剪辑属性.我还发现使用Canvas有时可以解决剪裁问题,但在这里没有用.
我怎样才能克服这个问题?这是我要解决的一些XAML.请注意,缺少矩形的整个左侧部分.
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<Rectangle Fill="Red" Stroke="Green" StrokeThickness="4" Width="100" Height="50">
<Rectangle.RenderTransform>
<TranslateTransform X="-50" />
</Rectangle.RenderTransform>
</Rectangle>
</DataTemplate>
</ListBox.ItemTemplate>
42
</ListBox>
Run Code Online (Sandbox Code Playgroud) 我正在拼命尝试将用于在C#中开发的IE的ActiveX部署为CAB存档.我已经阅读了很多资源(其中一些来自StackOverflow),看起来很多人都遇到了同样的问题.我尝试了3个解决方案:a)创建CAB VS项目,b)使用CABARCINF中的COM注册手动创建CAB,c)手动创建带启动的CAB msiexec.他们都没有工作.我甚至试过d)创建一个启动msiexec无效的引导程序(因为有些人建议只msiexec在Vista上启动无法工作).
我正在运行Windows Vista但我的项目甚至无法在XP上的IE6上运行.
当我使用MSI安装ActiveX时,所有Windows都可以.显然CAB的东西不起作用,我找不到调试整个过程的正确方法.
任何帮助表示赞赏.