我正在设计一个联系人管理系统,并且遇到了一个有趣的问题,即以一致的方式建模地理位置.我希望能够记录与特定人员相关的位置(工作,学校,家庭等的邮寄地址).我的想法是创建一个区域表,如下所示:
区域(ID,LocationName,ParentID),其中自治位置(例如国家,例如美国)是其自身的父母.通过这种方式,我可以任意深度嵌套"政治单位"(国家>州>城市或国家>州>城市>大学).一些查询必然涉及递归.
对于我可能会遇到的可预测问题的任何其他建议或建议,我将不胜感激.
有没有人有MSIINV.EXE(MSI清单工具)的副本?过去可用的网站(http://www.huydao.net/).我正在尝试卸载某些组件,以强制Visual Studio安装程序重新安装它们.我很抱歉,因为这不是一个严格的编程问题,但我认为安装了一些Visual Studio beta的人也可能遇到过这个问题.
我知道你不能从方法中返回匿名类型,但我想知道Select扩展方法如何返回匿名类型.它只是一个编译技巧吗?
编辑
假设L是一个列表.这是如何运作的?
L.Select(s => new { Name = s })
Run Code Online (Sandbox Code Playgroud)
返回类型是IEnumerable <'a>其中'a = new {String Name}
我想知道在运行时添加ViewUserControl(到ViewPage)是否存在任何已知问题.如果我以声明方式添加控件,它可以正常工作,但如果我以编程方式添加控件(在本例中的代码隐藏文件中)则不行.我没有得到错误,它只是没有呈现控件,但单步执行调试器确实确认正在调用页面生命周期中的相关方法.
我确实意识到在ASP.NET MVC中使用代码隐藏文件不太合适,但我确实有理由这样做.
我需要能够从其基类中的方法检索类的自定义属性.现在我通过基类中的受保护的静态方法执行此操作,具有以下实现(该类可以应用相同属性的多个实例):
//Defined in a 'Base' class
protected static CustomAttribute GetCustomAttribute(int n)
{
return new StackFrame(1, false) //get the previous frame in the stack
//and thus the previous method.
.GetMethod()
.DeclaringType
.GetCustomAttributes(typeof(CustomAttribute), false)
.Select(o => (CustomAttribute)o).ToList()[n];
}
Run Code Online (Sandbox Code Playgroud)
我这样从派生类中调用它:
[CustomAttribute]
[CustomAttribute]
[CustomAttribute]
class Derived: Base
{
static void Main(string[] args)
{
var attribute = GetCustomAttribute(2);
}
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我可以从构造函数中调用它并缓存结果.
谢谢.
PS
我意识到GetCustomAttributes不保证在词法顺序方面返回它们.
我正在使用PHP从我的数据库中获取"任务"并将其编码为JSON.当我将数据传输到javascript时,我最终会得到这样的结果:
Array {
[0] => Task {
id: 2,
name: 'Random Task',
completed: 0
}
[1] => Task {
id: 8,
name: 'Another task',
completed: 1
}
}
Run Code Online (Sandbox Code Playgroud)
等等
我想我真正的问题是,通过id找到任务的最有效方法是什么?迭代数组并检查每个对象似乎可能不是最有效的?有没有其他方法可以做到这一点?
c# ×2
asp.net-mvc ×1
inheritance ×1
javascript ×1
json ×1
object ×1
reflection ×1
sql ×1
uninstall ×1