我有一个XmlSerializer在其Read/WriteXml方法中使用的类.目前是Serializer private readonly.
public class Foo : IXmlSerializable
{
private Bar _bar = new Bar();
private readonly XmlSerializer serBar = new XmlSerializer (typeof (Bar));
public void WriteXml (XmlWriter writer)
{
serBar.Serialize (writer, Bar);
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
我正在考虑private static改为使用Serializer ,因此所有Foos之间共享一个实例.这是个好主意,还是有可能存在问题?
我想根据彩虹颜色(红色......黄色......绿色......蓝色......)列出颜色.
我基本上看到两种方法:
创建一个包含一些重要参考颜色的查找表,并在它们之间进行插值.我完全不喜欢这个想法.
应用一些或多或少花哨的数学.可能更少,但我不太清楚它是如何工作的.有任何想法吗?
(哦,当我做了一些SO研究时,我发现没有好的结果.如果这个问题已经发布,请指出我的位置,我会删除它.)
编辑:我更喜欢这个独立于使用的技术来显示渐变.例如,GetRainbowColor(float f)之类的f(范围从0(红色)到1(紫色))会很有效.
我有一个OpenSource项目的源代码,我从SVN获得.我能够运行autogen - > configure - >并成功(通过终端).但我想用Eclipse构建相同的项目,但我不能手动将这些源文件移植到eclipse中.那么,我如何设置Eclipse以使用外部make文件?谁能帮帮我吗 ?谢谢.
StyleCop提供检查空间的一致使用,但遗憾的是缺乏相反的想法:强制源代码使用选项卡.有没有办法添加此功能?它不一定是StyleCop,也欢迎其他工具.
终结器是否保证在某些时候在.NET中执行(备用断电等)?我知道GC是如何工作的,并且当它们完全运行时它是不确定的.
(搜索没有显示出良好的答案,所以我加入了这个问题,期望与不那么容易发现的实际答案合并.除此之外,我已经知道了答案,我将要添加几天之后如果没有人提到它.)
考虑到这是一项非常基本的任务,我想不出一个适当的简单方法.你如何获得int数组中最低值的索引?使用Linq/MoreLinq是可能的.到目前为止,我找不到合理的单线.
基本的不同之处在于,应该在每次运行GC时声明弱引用(保持内存占用率低),而软引用应该保留在内存中,直到GC实际需要内存(它们尝试扩展生命周期但可能随时失败,这对于例如特别是相当昂贵的对象的高速缓存是有用的.
据我所知,没有明确的陈述说明弱引用如何影响.NET中对象的生命周期.如果它们是真正的弱参考,它们根本不应该影响它,但是这也会使它们对于我们认为缓存的主要目的而言毫无用处(我错了吗?).另一方面,如果他们的行为像软参考,他们的名字有点误导.
就个人而言,我想他们的行为就像软参考,但这只是一种印象,而不是创立.
当然,实施细节也适用.我问的是与.NET的弱引用相关的心态 - 它们是否能够延长寿命,还是它们的行为像真正的弱引用?
(尽管有一些相关的问题我还没找到这个具体问题的答案.)
标题令人困惑.让我澄清一下:
我想提供依赖于参数的事件,以便观察者可以决定在特定"id"发生某些事件时接收事件.它可能看起来像这样:
public event EventHandler Foo (string id);
Run Code Online (Sandbox Code Playgroud)
我知道这种语法在.NET 3.5中是错误的,我也知道这个想法引入了额外的问题(例如,我们如何管理取消订阅?).
我该如何规避这个问题?我想过使用类似的东西:
public EventHandler Foo (string id);
Run Code Online (Sandbox Code Playgroud)
这至少是合法的语法,可以工作,但它对我来说仍然不是很好.
编辑:我不是要求将参数传递给回调函数.我的想法更像是这样的:
class Bleh
{
public event EventHandler Foo (string index);
private void RaiseEvents() // this is called by a timer or whatever
{
Foo["asdf"] (this, EventArgs.Empty); // raises event for all subscribers of Foo with a parameter of "asdf"
Foo["97"] (this, EventArgs.Empty); // same for all "97"-subscribers
// above syntax is pure fiction, obviously
}
}
// subscribe for asdf …Run Code Online (Sandbox Code Playgroud) 如何检索与目录中的模式匹配的所有文件名?我试过这个,但它返回完整路径而不是文件名.
Directory.GetFiles (path, "*.txt")
Run Code Online (Sandbox Code Playgroud)
我是否必须手动裁剪结果的目录路径?它很简单,但也许有一个更简单的解决方案:)
我有这个SQL查询:
SELECT Foo, Bar, SUM(Values) AS Sum
FROM SomeTable
GROUP BY Foo, Bar
ORDER BY Foo DESC, Sum DESC
Run Code Online (Sandbox Code Playgroud)
这导致输出类似于:
47 1 100
47 0 10
47 2 10
46 0 100
46 1 10
46 2 10
44 0 2
Run Code Online (Sandbox Code Playgroud)
我想每个Foo只有第一行,而忽略其余的.
47 1 100
46 0 100
44 0 2
Run Code Online (Sandbox Code Playgroud)
我怎么做?