我有一个Bar包含引用类型的私有字段的类Foo.我想Foo在一个公共财产中公开,但我不希望财产的消费者能够改变Foo......但是它应该在内部可以改变Bar,即我不能进入该领域readonly.
所以我想要的是:
private _Foo;
public Foo
{
get { return readonly _Foo; }
}
Run Code Online (Sandbox Code Playgroud)
......当然无效.我可以回复一个克隆Foo(假设它是IClonable),但这对消费者来说并不明显.我应该将属性的名称更改为FooCopy?? 它应该是一种GetCopyOfFoo方法吗?你认为最佳做法是什么?谢谢!
我发现了两个优秀的jquery插件,用于为Web表单生成一个滑块,在不支持javascript的浏览器中关闭样式会很好地降级.
第一个是Jquery.UI版本:http://ui.jquery.com/demos/slider/#steps
第二个是滑块的选择元素:http://www.filamentgroup.com/lab/update_jquery_ui_16_slider_from_a_select_element/
但是我需要创建一个滑块,它不仅可以将滑块分成相等的部分.
例如,假设我有以下数字范围:
800,1000,1100,1200,1300,1400,1500
我希望滑块在800到1000之间有一个很大的差距,然后在1100-1500之间有较小的间隙
所以滑块看起来有点像这样:
800 ---- 1000--1100--1200--1300--1400--1500
我希望它能降级到下拉,所以问题是有没有人知道支持这个的插件或者有最好的实现方法的建议,定制我自己的filamentgroup插件卷等.
更新:使用灯丝组的滑块进行黑客攻击,无论如何它通过JQuery UI的滑块实现了手柄.所以看起来像修改JQuery.UI它的self是唯一可用的选项.将在代码中挖掘,看看我是否能找到需要改变的必要位.如果在此期间任何人有任何想法!
我们公司正在为SVN分支和标签创建一个命名约定,我对在分支/标签名称上仅使用日期或内部版本号的想法感到不舒服.
我认为我们需要的名称能够更好地定义这条路径代表什么,正在做什么努力等等.
你觉得/用什么?
这是一个很长的一个,所以你可能想要得到你一直在喝的那杯茶/咖啡;)
我运行了一款名为World of Arl的游戏,这是一款类似于风险或外交的回合制战略游戏.每个玩家都有一组城市,军队和诸如此类的东西.问题围绕这些事物的展示.目前,地图是使用背景图像创建的,其中CSS图标位于其上方以代表城市.您可以在这里看到它的样子:WoA Map
地图的背景图像位于此处:地图背景并在Omnigraffle中创建.它不是为了绘制地图而设计的,但我绝对没有能力使用Photoshop,这对我的目的很有用.
问题在于我想要执行诸如寻路之类的有趣事情,因此我需要以某种方式将地图存储在代码中.我尝试过使用PIL,我已经看过将它与Blender合并,我试着去"老学校"并从许多旧游戏中创建瓷砖,最后我尝试使用SVG.我这样说,所以你可以清楚地看到,这不是因为没有尝试我有这个问题;)
我希望能够将地图布局存储在代码中,并从中创建图像并将其用于路径查找等操作.我正在使用Python,但我怀疑大多数答案都是通用的.其他这样的城市已经存储并且很容易被绘制出来,我想在陆地上存储陆地的布局和特征.
至于寻路,每种类型的地形都有移动成本,当地图作为图像存储时,我无法访问给定区域的地形.除了寻路之外,我希望能够了解与游戏相关的各种事物的地形,例如山区城市生产石头.
有没有一个很好的方法来做到这一点以及我应该在谷歌使用什么术语,因为我尝试过的术语都提出了无关的东西(映射在大多数情况下是完全不同的).
编辑2:军队可以放在地图上的任何地方,城市也可以放在任何地方,但在水中他们会下沉,淹死并且可能会抱怨(按此顺序).
在与MSN上的某个人聊天之后,让我重新审视了一些非常细微的细节,并且对游戏有了更好的了解(由于他正在玩游戏),我发现瓷砖是要走的路,但不是我的方式.最初想过.我把位图放在现在,但也有一个瓦片的数据层,每个瓦片都有一个给定的地形类型,因此可以在它上面进行路径查找等,但同时我仍然使用Omnigraffle进行渲染,效果非常好.
我将按照Adam Smith的建议为此编辑.我不知道图表与Xynth有关,但我还没有机会完全研究它们.
我非常感谢那些回答我问题的人,谢谢.
由于关于工作项目中的分支的一些不良做法,我正在寻找一个应用程序,我可以指向一个subversion服务器并生成一个地图,将以图形方式勾勒出存在的大鼠巢.
任何帮助将不胜感激.
干杯利亚姆
我应该建立一个'地理定位',ipv6,无线网状网络在谷歌android上运行.
我找到了支持网格划分的好应用程序:http: //www.open-mesh.net/wiki/batman-adv
"Batman-advanced是一种新的无线网络方法,它不再在IP基础上运行.与使用UDP数据包交换信息并设置路由表的BATMAN不同,batman-advanced仅在ISO/OSI第2层上运行并使用和路由(或者更好:网桥)以太网帧.它模拟所有节点参与的虚拟网络交换机.因此所有节点看起来都是链路本地的,因此所有更高的操作协议都不会受到网络内任何变化的影响.你几乎可以运行任何BATMAN Advanced以上的协议,突出的例子是:IPv4,IPv6,DHCP,IPX."
但我团队中的其他成员表示,这是不可行的,因为它在OSI上运行,而不是TCP/IP.这是我第一次听说OSI,我想知道这是多少问题?对可以在其上开发的网状网络应用程序有什么影响?考虑到android是相对较新的,我们不需要过多担心与现有应用程序的兼容性,所以它是否重要?
我没有花很多时间在网络上工作,所以请加入noobmans术语.
我有以下Delphi函数:
function DoX(const InputBuffer: Pointer; const InputBufferSize: longword; OutputBuffer: Pointer; var OutputBufferSize: longword): longbool;
Run Code Online (Sandbox Code Playgroud)
OutputBuffer和OutputBufferSize将作为结果的一部分在函数中设置,并使用布尔返回来指示方法是否成功(InputBuffer和OutputBuffer将是字节数组).
我已经设法从dll映射我的一些所需功能与JNA,他们工作正常,但这一个给我的问题,任何帮助将不胜感激.
我是StackOverflow的新手,所以如果有更好的方法可以提出以下问题,请告诉我.
我需要创建一个正则表达式来检测数据库中的字段是否为数字,如果是数字,则它是否在有效范围内(即1-50).我已经尝试过了[1-50],除了单个数字前面有一个0(即06)的情况之外.06仍应被视为有效数字,因为我可以稍后将其转换为数字.
我真的很感谢你的帮助!我正在努力学习更多关于正则表达式的知识,并且我一直在学习:www.regular-expressions.info.如果你们有其他网站推荐这些东西,我会很感激!
为什么ClassA中的第一个构造函数会导致编译器错误"无法使用"这个"在成员初始化程序中"?
......或者我怎样才能让它发挥作用?
谢谢
public sealed class ClassA : IMethodA
{
private readonly IMethodA _methodA;
public ClassA():this(this)
{}
public ClassA(IMethodA methodA)
{
_methodA = methodA;
}
public void Run(int i)
{
_methodA.MethodA(i);
}
public void MethodA(int i)
{
Console.WriteLine(i.ToString());
}
}
public interface IMethodA
{
void MethodA(int i);
}
Run Code Online (Sandbox Code Playgroud)