Tag: 属性

在IE6 / 7中使用IHTMLElement5 / 6(IE8 / 9)时会发生什么? 它会转向IHTMLElement行为吗?

基本上,IHTMLElement5和IHTMLElement6都是主IHTMLElement的扩展接口,符合以下版本规则: IHTMLElement IE4 IHTMLElement2 IE5 IHTMLElement3 IE5.5 IHTMLElement4 IE6 IHTMLElement5 IE8 IHTMLElement6 IE9 当然,每个新的扩展接口都包含旧成员+自己的新成员,属性等。但是,某些成员(例如.getAttribute)名称相同但已更新。 所以,我的问题是,如果我使用(比方说)IHTMLElement6来声明我的HTML元素并在只安装了IE6的客户端上运行代码,我的对象何时失败并在我设置时保持为Null / Nothing,或者是mshtml.dll足够聪明,可以实现最新情况并默认为IHTMLElement4(实际上是IHTMLElement)行为? 为了澄清括号中的最后一个语句,.getAttribute是在IHTMLElement中添加的,并在IHTMLElement5和IHTMLElement6中更新 – 所以,如果有人只安装了IE6,那么我希望行为默认/恢复为IHTMLElement(不是IHTMLElement4) – 并且如果它不这样做,那么我希望我的代码崩溃。 基本上,我的问题是,究竟会发生什么? 现在,因为我害怕疯了,我只是宣称一切都是IHTMLElement,任何想法? 谢谢。 问题摘要(如果您认为有必要,请阅读,只需要对需要的人进行重新说明):基本上,我希望能够将某些内容声明为IHTMLElement6,以便我可以使用IHTMLElement和IHTMLElement6之间具有相同名称的更新方法(例如.getAttribute)。 这样,在IE9用户上,IHTMLElement6的.getAttribute版本将被利用,同时IHTMLElement的.getAttribute版本仍然适用于(比如说)IE6用户而不会破坏我的代码 – 这就是我的问题所在,当使用IHTMLElement6对象时,即使它是一个IE9接口,IHTMLElement的(IE4接口)版本的.getAttribute会进入/工作还是会得到空引用exception或其他运行时错误? 谢谢大家。 答案越多越好,即使是你的意见并且你不知道这是事实,我想鼓励你仍然发表评论,同时让我们知道你是否知道这是一个事实,或者只是意见/猜猜等等。谢谢。

C#属性修改方法

所有。 也许我还没有用Google搜索,但我在这个问题上找不到任何例子。 在C#中可以创建一个自定义属性,该属性应用于类修改其所有方法吗? 例如,添加Console.WriteLine(“Hello, i’m modified method”); 作为第一行(如果它在运行时完成,它的IL等价物)?

使用Moq 永远不会设置validation属性

可能重复: Moq – 如何validation通过setter设置的属性值 我希望以下测试失败: public interface IObjectWithProperty { int Property { get; set; } } [TestMethod] public void Property_ShouldNotBeCalled() { var mock = new Mock(); mock.Object.Property = 10; mock.Verify(x => x.Property, Times.Never()); } 但是,即使在Verify之前在线路上清楚地访问了Property ,此测试也会通过。 所以看来Verify实际上意味着VerifyGet 。 我该如何validation永远不会设置属性?

从类属性获取绑定值,DefaultBindingProperty对我不起作用!

我正在为我的项目创建一些实体(类),我想为它设置一个默认的binging属性,这是一个例子 namespace MyNamespace { [System.ComponentModel.DefaultBindingProperty(“Name”)] public class Person { public int ID { get; set; } public string Name { get; set; } public int Gender { get; set; } } public class Family { public int ID { get; set; } public Person Father { get; set; } } } 如果我有List并希望将它绑定到GridView并添加此字段结果将是MyNamespace.Person但是我需要它来填充属性Name的值而不用使用TemplateField所以我错过了什么? 或DefaultBindingProperty不是正确的属性?

ASP.Net MVC 2.0:EditorFor通过属性设置名称

只是想知道如何使用属性来模仿以下内容…… x.SportProgramIdList, “FormMultiSelectDropDownList”, “SportProgramIds”)%> 我知道我可以使用[UIHint(“FormMultiSelectDropDownList”)]来指定模板,但是我对如何设置名称存在问题…… 干杯安东尼

你能进入VS 2010的特定属性吗?

我知道你可以步入每个房产或者不进入每个房产,但我真的希望能够进入一个特定的房产,而不是其他房产。 这可能吗? (我也知道我可以使用键盘命令,但我会问是否有一个更永久的解决方案。)我有很多属性,我的安装人员做重要的事情,所以踩到他们是愚蠢的,但我的大部分吸气者都是无意义。 我正在寻找类似的东西: public string ImportantProperty { get { return _importantProperty; } [DebuggerStepThrough(false)] set { if (this.State != ConnectionState.Closed) throw new InvalidOperationException( “Important Property cannot be changed unless This is closed.”); if (ImportantProperty == value) return; _importantProperty = value; OnImportantPropertyChanged(new EventArgs()); } } 不幸的是,我找不到任何像[DebuggerStepThrough(false)]那样的东西,我必须求助于关闭属性转换并将[DebuggerStepThrough]放在我不希望逐步执行的任何地方 。

在C#中列出word文档的属性

我想要一些帮助来检索word文档的属性。 我已经获得了标题,主题和作者。 但我似乎无法获得“Date Last Saved”属性,我不知道如何获取属性名称列表。 我的代码如下所示: using System; using System.Collections.Generic; using System.Text; using Microsoft.Office.Interop; using System.Reflection; using System.IO; namespace MetaDataSorter { class Program { static void Main(string[] args) { String dirName = @”H:\projekt\test raw files”; String fileNameString = @”H:\projekt\raw files\vgahm\1 NTFS\Raw Files\Microsoft Word Document\1-300\FILE006.DOC”; object fileName = (object)fileNameString; object missing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Word.Application wordApp = […]

NHibernate将类属性映射到Rows而不是Columns

是否可以映射一个类,其中每个属性都存储为表中的行,而不是列。 该场景是我们将全局选项持久保存到数据库的位置。 我们将选项存储在“选项”类中,该类具有每个选项的属性,即“展开菜单”,“退出时保存”等。 我们只希望将每个类属性存储为一个由Enum标识的新行,而不是将每个选项存储在自己的表列中。 这可能吗? (C#Winforms)

为什么’stackalloc’关键字不适用于属性?

我最近在C#中编写了一些不安全的代码,并注意到这会产生语法错误: public unsafe class UnsafeByteStream { public UnsafeByteStream(int capacity) { this.Buffer = stackalloc byte[capacity]; } public byte* Buffer { get; } } 结果是: “Invalid expression term ‘stackalloc’ / ; expected / } expected” 。 但是,当我首先将其分配给本地字段时,如下所示: public UnsafeByteStream(int capacity) { byte* buffer = stackalloc byte[capacity]; this.Buffer = buffer; } 然后没有产生语法错误。 这有什么原因,或者编译器是什么? 我理解指针类型属性并不常见,但我仍然不明白为什么这是语法错误而不是语义错误,假设代码有问题。

共享属性和方法之间的角色属性的初始化

我有一个权限属性,它获取角色的枚举值列表: [CheckRoles(SystemRole.ID.Admin, SystemRole.ID.User)] public class MyController : Controller { …. } 但是,在代码的其他部分,我想检查用户是否处于任何这些角色,因此我可以转到正确的页面。 所以代码看起来像: if (roles.IsInAnyRoles(user, SystemRole.ID.Admin, SystemRole.ID.User) { … Do something in MyController … } 你可以在这里看到重复。 我真的希望在变量或初始化列表中有两个角色,或者我可以传递给属性和方法。 创建const数组不起作用。 有办法做到这一点吗? 我可以以某种方式存储arrays初始化器吗? 任何帮助将不胜感激! UPDATE 我已经将角色枚举成了一个Flags枚举(并给出了适当值的项)。 这意味着我可以将值或值一起给出单个恒定值。 我现在可以在Attribute和方法中使用该常量值。 感谢下面的Danny Chen。