我有一个CSLA对象正在从数据库返回数据,但是当我更改对象的任何属性时,对象仍然说IsDirty ="false".虽然当我创建一个新对象时,它会报告IsDirty ="true".我确信它只是我的代码中缺少的一些简单的东西.以下是我的目标:
[Serializable()]
[ObjectFactory( FactoryNames.SiteFactoryName )]
public class Site : BusinessBase<Site>
{
#region Business Methods
public static PropertyInfo<int> IdProperty = RegisterProperty<int>( p => p.Id );
public int Id
{
get { return GetProperty( IdProperty ); }
set { LoadProperty( IdProperty, value ); }
}
public static PropertyInfo<string> NameProperty = RegisterProperty<string>( p => p.Name );
public string Name
{
get { return GetProperty( NameProperty ); }
set { LoadProperty( NameProperty, value ); }
}
public static PropertyInfo<string> CodeProperty = RegisterProperty<string>( …Run Code Online (Sandbox Code Playgroud) 假设你有一个类Foo,类型为Bar的私有成员.您不希望用户知道Foo的实现包含一个Bar,并且您不希望用户能够创建自己的Bar并通过Foo的构造函数,任何其他方法或配置文件传递它.
编辑:Bar也存在问题,因为它访问测试环境控制之外的资源,例如特殊数据库,网络连接或其他进程.
当你还希望能够对Foo进行单元测试时,你会怎么做?依赖注入仍然可能吗?这是否意味着Bar和Foo过于紧密耦合(即使依赖是单向的)并且这种情况永远不可接受?
作为Windows 7的一般移动的一部分 - 所有应用程序都应具有"安装程序体验",我需要为所有应用程序套件创建安装程序.我看过InstallShield,但这看起来非常昂贵.我可以看一下安装什么产品?
安装程序需要在我们的构建计算机上无人值守地构建,因此除了作为安装程序构建器之外,还存在一定程度的复杂性.
更新:
我看了所有的建议,看起来很好.我的计划涉及通过SCCM(或类似的东西)向最终用户推送内容.我需要MSI支持吗?
有了Type.GetProperties()你可以检索你的当前类的所有属性和public基类的属性.是否有可能获得private基类的属性?
谢谢
class Base
{
private string Foo { get; set; }
}
class Sub : Base
{
private string Bar { get; set; }
}
Sub s = new Sub();
PropertyInfo[] pinfos = s.GetType().GetProperties(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
foreach (PropertyInfo p in pinfos)
{
Console.WriteLine(p.Name);
}
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
这只会打印"Bar",因为"Foo"属于基类和私有.
我在Perl中有以下子程序用"abc"替换字符串中的"xyz":
sub mySubst {
my ($str) = @_;
$str =~ s|abc|xyz|ig;
return $str;
}
Run Code Online (Sandbox Code Playgroud)
它有效,但对于Perl来说似乎太冗长了.我怎样才能把它收紧?
匿名类型从对象派生,似乎没有任何方法.但我想我会问,因为很多时候我们在简单查询表达式中使用匿名类型来提取要在我们创建的匿名类型中使用的数据子集.在我看来,它们应该是结构(值类型),以提高内存效率与引用类型.
思考?
通常,通过设置主键在SQL Server Management Studio中创建聚簇索引,但是我最近关于PK < - >聚簇索引(Microsoft SQL Server 2008主键的含义)的问题表明没有必要设置PK和聚集索引是相等的.
那么我们应该如何选择聚簇索引呢?我们有以下示例:
create table Customers(ID int,...)create table Orders(ID int,CustomerID int)
我们通常会在两个ID列上创建PK/CI,但我想为CustomerID中的Orders创建它.那是最好的选择吗?
sql-server database-design primary-key clustered-index sql-server-2008
考虑一个数组与一个哈希表,其中键只是列表的整数索引.
他们的平均情况插入,查找和删除big-O边界都是O(1)恒定时间.我知道你可以通过一个数组在缓存局部获得一些低级别的胜利,并且哈希表操作有一个边际(大部分是常量的)开销,但哈希表可以免费获得稀疏性,这在某些应用程序中是一个巨大的胜利.
我错过了哪些其他重要(或小)对比?
背景:我在采访编程候选人时有时会讨论这个问题.通常上下文是"如何在JS VM中实现Javascript数组类型?" 对于密集的数据,我支持原生阵列,但我希望有更好的推理而不是"看起来不像矫枉过正"的直觉.
我希望用户能够通过管理界面进行多项选择,并将结果存储为逗号分隔值列表.选择多个或复选框列表会很棒.但是,我不需要这个值列表中的项目来特别引用任何模型......我只想要一个简单明了的项目文本列表,因此我不认为ManyToManyField是我的那个我正在寻找.在Django中最快的方法是什么?
c# ×2
.net ×1
arrays ×1
asp.net ×1
asp.net-mvc ×1
csla ×1
delphi ×1
django ×1
forms ×1
hashtable ×1
list ×1
perl ×1
primary-key ×1
python ×1
reflection ×1
sql-server ×1
struct ×1
unit-testing ×1
windows-7 ×1
xna ×1