我想知道,有没有办法在日期时间在c#中创建时间戳?我需要一个毫秒精度值,它也可以在Compact Framework中工作(说因为CF中不存在DateTime.ToBinary()).
我的问题是我想以数据库无关的方式存储这个值,所以我可以稍后对其进行排序,并找出哪个值来自另一个等等.
c# timestamp compact-framework time-precision database-agnostic
我们在.Net Compact Framework和Windows Mobile中广泛开展工作.我已经看到很多关于ASP.Net应用程序或其他.Net桌面应用程序开发细节的问题,但没有特定的CF.
移动开发人员在那里可以分享一些事情来开始做,停止做,并避免在Compact Framework中进行开发吗?
我正在使用.NETCF(Windows Mobile)Graphics类和DrawString()方法将单个字符渲染到屏幕上.
问题是我似乎无法使其正确居中.无论我为字符串渲染的位置的Y坐标设置什么,它总是低于该值,文本大小越大Y偏移越大.
例如,在文本大小12处,偏移量约为4,但在32处,偏移量约为10.
我希望角色垂直占据它所绘制的大部分矩形并水平居中.这是我的基本代码.this引用正在绘制的用户控件.
Graphics g = this.CreateGraphics();
float padx = ((float)this.Size.Width) * (0.05F);
float pady = ((float)this.Size.Height) * (0.05F);
float width = ((float)this.Size.Width) - 2 * padx;
float height = ((float)this.Size.Height) - 2 * pady;
float emSize = height;
g.DrawString(letter, new Font(FontFamily.GenericSansSerif, emSize, FontStyle.Regular),
new SolidBrush(Color.Black), padx, pady);
Run Code Online (Sandbox Code Playgroud)
是的,我知道我可以使用标签控件来设置居中,但实际上我需要在Graphics课堂上手动完成.
我正在使用.net compact framework 2.0为移动设备开发应用程序.我试图将文件的内容加载到字符串对象,但不知怎的,我无法完成它.班上没有ReadToEnd()方法System.IO.StreamReader.是否有另一个类提供此功能?
我使用列表来限制文件大小,因为目标在磁盘和RAM中是有限的.这就是我现在正在做的,但有更有效的方法吗?
readonly List<string> LogList = new List<string>();
...
var logFile = File.ReadAllLines(LOG_PATH);
foreach (var s in logFile) LogList.Add(s);
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用实体框架,所以我决定将它连接到我现有的SQL Server CE数据库.我有一个IDENTITY(1,1)主键的表,但当我尝试添加实体时,我遇到了上述错误.
从MS Technet artice 我学到了
与实体框架一起使用时,SQL Server Compact不支持具有服务器生成的密钥或值的实体.使用实体框架时,实体的密钥可能会标记为服务器生成.这使数据库能够在插入或实体创建时为密钥生成值.另外,实体的零个或多个属性可以标记为服务器生成的值.有关更多信息,请参阅Entity Framework文档中的Store Generated Pattern主题.虽然实体框架允许您使用服务器生成的键或值定义实体类型,但SQL Server Compact在与实体框架一起使用时不支持具有服务器生成的密钥或值的实体.对具有服务器生成的值的实体的数据操作操作会引发"不支持"异常.
所以现在我有几个问题:
我的应用程序有一个exe并使用一些DLL.我用C#写所有内容.
在一个DLL中,我想编写一个方法来从exe中的版本信息中获取应用程序名称和版本.
据我所知,在完整的.NET中,我可以使用GetEntryAssembly,但这在CF中是不可用的.
我正在尝试将日志记录添加到使用Windows Mobile 6.1在移动设备上运行的应用程序. .NETCompact框架3.5.使用NLog.
我安装了适当版本的NLog发行版.
但是,没有创建日志文件.
这是我的NLog.config档案:
<?xml version="1.0" encoding="utf-8"?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="logfile" xsi:type="File" fileName=".\Neolant.ASRM.Terminal.log" layout="${longdate}|${level}|${message}|${exception}" autoFlush="true"/>
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
这是我使用的测试代码:
public static void Main()
{
try
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
var logger = NLog.LogManager.GetLogger("UpperLevel");
logger.Info("test test test.");
try
{
throw new Exception("Unexpected!");
}
catch (Exception e)
{
var logger = NLog.LogManager.GetLogger("UpperLevel");
logger.WarnException("An exception occured.", e);
}
throw new Exception("Suddenly!");
}
finally
{
NLog.LogManager.Flush();
}
}
private static void …Run Code Online (Sandbox Code Playgroud) 我正在尝试在编译时反序列化一个未知类型的数组.在运行时我发现了类型,但我不知道如何创建实例.
就像是:
Object o = Activator.CreateInstance(type);
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为没有无参数构造函数,Array似乎没有任何构造函数.
我有以下(作为示例)XML文件和XSD.
<?xml version="1.0" encoding="utf-8" ?>
<foo>
<DateVal>2010-02-18T01:02:03</DateVal>
<TimeVal>PT10H5M3S</TimeVal>
</foo>
Run Code Online (Sandbox Code Playgroud)
和
version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="foo">
<xs:complexType>
<xs:sequence>
<xs:element name="DateVal" type="xs:dateTime" />
<xs:element name="TimeVal" type="xs:duration" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
然后是以下C#代码:
static void Main(string[] args)
{
XmlDocument xd = new XmlDocument();
XmlSchema xs;
using (var fs = File.OpenRead(FilePath + "SimpleFields.xsd"))
{
xs = XmlSchema.Read(fs, null);
}
xd.Schemas.Add(xs);
xd.Load((FilePath + "SimpleFields.xml"));
xd.Validate(null);
var el_root = xd.DocumentElement;
var el_date = (XmlElement)el_root.SelectSingleNode("./DateVal");
//WANTED: el_date.Value = 2010-02-18 01:02:03 (as a DateTime Object) …Run Code Online (Sandbox Code Playgroud) c# ×8
.net ×2
.net-2.0 ×1
graphics ×1
nlog ×1
reflection ×1
timestamp ×1
versioning ×1
xml ×1
xmldocument ×1
xsd ×1