是否Attribute在.Net Framework中建议将代码标记为"不支持"?
到目前为止,我一直在使用,ObsoleteAttribute但它并不总是完全准确.例如,目前我正在编写托管的FMOD包装器,我想清楚地标记仅适用于不支持的平台的属性,枚举值等.
假设我有类似枚举的东西来确定音频文件的格式.我想明确指出,对于.Net端口至少,某些值是不相关的.例如:
enum SoundFormat{
Wav,
Mp3,
OggVorbis,
[Obsolete("Xbox360 only")] Xma,
[Obsolete("GameCube only")] GcadPcm,
[Obsolete("PS2/PSP only")] Vag,
}
Run Code Online (Sandbox Code Playgroud)
虽然使用Obsolete作品和某种用途的目的相同,但它也具有误导性,因为它们在技术上不会因为不受支持而过时.这是最终没有什么影响的事情之一,但每当我把Obsolete它放在不准确的地方时,它总会让我烦恼.
PS:在它建议之前,NotImplementedException并且NotSupportedException真的不回答这个问题,因为它们只提供运行时指导.我对编译时更感兴趣.
这可能是数据库设计问题,但我无法弄清楚.在其他几个方面,我有这些模型:
class User(models.Model):
name = models.CharField( max_length=40 )
# some fields omitted
bands = models.ManyToManyField( Band )
Run Code Online (Sandbox Code Playgroud)
和
class Band(models.Model):
creator = models.ForeignKey( User )
# some fields omitted
name = models.CharField( max_length=40 )
Run Code Online (Sandbox Code Playgroud)
所以基本上,我有一个用户实体,它与一个带实体有很多很多关系.扭曲的是,我想要一个特殊的用户,他在网站上"创建"了乐队以获得特殊的编辑功能.所以我继续前进,并添加了一个名为creator的ForeignKey.代码无法运行,因为Band来自源中的User.所以我向前宣布class Band(models.Model): pass.遗憾的是,这似乎并不是一个好主意,因为现在Band是唯一没有在django admin中显示任何界面元素的模型(Bands模型就在那里,它只是无法编辑).
我的问题是,我应该在模型中做出哪些改变才能使这项工作正常进行?(如果有的话)
python django database-design circular-dependency forward-declaration
我有一个关于shortJava中数据类型的问题.我知道短期的范围在-32768到32767之间.
因此,如果我尝试添加两个超出范围的短值,则结果最终为假定的总减去正范围或负范围乘以2,如下所示:
short a = 30000;
a = (short) (a+a);
Run Code Online (Sandbox Code Playgroud)
结果是-5536.
所以数学是32768 + 32768 = 65536,6000 - 65536 = -5536.
我知道它的作用,但我不知道为什么会这样做.
任何人都可以解释逻辑或为什么Java这样做?
我这样做
declare @num float = 7708369000
select @num as [float],
convert(varchar, @num) as [varchar]
Run Code Online (Sandbox Code Playgroud)
它给了我这个
float varchar
---------------------- ------------------------------
7708369000 7.70837e+009
Run Code Online (Sandbox Code Playgroud)
但我想要这个
float varchar
---------------------- ------------------------------
7708369000 7708369000
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我有两个约会FromDate和toDate
转换如下的日期并将其作为参数传递给存储过程:
两个变量都是DateTime FromDate,DateTime toDate变量
初始值就像 {10/1/2013 12:00:00 AM}
我已经使用下面的代码将其转换为 {10/1/2013 00:00:00}
sparamFromDate.Value = FromDate.ToString("yyyy-MM-dd HH:mm:ss");
sparamToDate.Value = toDate.ToString("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
这给了我FromDate的预期结果: 2013-10-11 00:00:00.000
但我需要一个以下格式的todate如何在代码中转换它?
至今 : 2013-10-11 23:59:59.000
这让我疯了.我也无法通过Firebug来解决这个问题.有人可以解释一下这里发生了什么吗?
基本上我有一个传入的文本文件,其中每行包含一个管道分隔的记录.我将这些字符串拆分为一个字符串数组,以便以后在自动完成文本框中使用.代码如下:
<script type="text/javascript">
$(function () {
var rawData = new Array();
$.get("/sample.txt",
function (data) {
var raw = data.split('\n');
for (var i = 0; i < raw.length; i++) {
rawData.push(raw[i].split('|'));
};
alert(rawData); // 1st sanity check
}
);
alert(rawData); // 2nd sanity check
alert(rawData); // 3rd sanity check
Run Code Online (Sandbox Code Playgroud)
由于某种原因,第一次完整性检查工作正常 - 它显示我所期望的所有数据.第二个显示rawData为空...但第三个显示所有数据.删除第1次完整性检查不会影响第2次和第3次.
这怎么可能?为什么会这样?这真让我抓狂.
javascript jquery scope multidimensional-array string-parsing
我的文件包含由行尾分隔的文件列表
$ cat file_list
file1
file2
file3
Run Code Online (Sandbox Code Playgroud)
我想用FTP复制这个文件列表
我怎样才能做到这一点 ?我必须写一个脚本吗?
从使用相同连接代码的Winforms应用程序,RavenDB工作正常.我可以放弃存储和检索文档.
当我尝试在Nancy应用程序中执行相同的操作时,结果完全出乎意料.
Nancy正在侦听端口12345,并且RavenDB在嵌入式模式下运行,UseEmbeddedHttpServer启用并侦听端口8080.
第一个根据请求http://localhost:12345/获取网页响应的请求.任何后续请求都http://localhost:12345/被重定向到/raven/studio.html.如果我做的第一个请求是/widgetsNancy按预期返回小部件的JSON列表,但任何后续请求都会返回:
Could not figure out what to do
Your request didn't match anything that Raven knows to do, sorry...
Run Code Online (Sandbox Code Playgroud)
似乎RavenDB正在劫持Nancy正在监听的端口.什么会导致这种行为?
在java语言中,
如何使用正则表达式来处理字符串
$.store.book[Random(1,9)].title
Run Code Online (Sandbox Code Playgroud)
并将部分替换Random(1,9)为真正的随机数之间1的9?
所以基本上,结果字符串会喜欢$.store.book[3].title或$.store.book[5].title
谁能帮帮我?
需求:
如果在一个句子中找到模式57XXXXXXX或57XXXXXXX-X,则复制这个匹配的模式(X - 表示7个整数,57个是常量值必须在那里),否则忽略完整的句子.
我写了一个正则表达式模式57[0-9]{7}|-[0-9]{1}来匹配这两个模式.
如果发现低于模式(57后的8位而不是7,那么仍然高于正则表达式仍然会得到匹配模式(实际上期望正则表达式不匹配)
例如5712345678-0(57之后,8位数) - >正则表达式匹配并给出571234567-0
用java编译上面的模式.