Tag: 字段

如何获取枚举的属性

可能重复: 获得Enum价值的属性 这是我的class级: [AttributeUsage(AttributeTargets.Field)] public sealed class LabelAttribute : Attribute { public LabelAttribute(String labelName) { Name = labelName; } public String Name { get; set; } } 我想得到属性的字段: public enum ECategory { [Label(“Safe”)] Safe, [Label(“LetterDepositBox”)] LetterDepositBox, [Label(“SavingsBookBox”)] SavingsBookBox, }

如何迭代C#类查找特定类型的所有实例,然后在每个实例上调用方法

是否有可能(通过reflection?)迭代一个对象的所有字段,在每个字段上调用一个方法。 我有一个这样的课: public class Overlay { public Control control1; public Control control2; } 我想要一个像这样的方法: public void DrawAll() { Controls[] controls = “All instances of Control” foreach (Control control in Controls) { control.Draw() } } 可以这样做吗? 我已经能够获得Control类的所有元数据,但这只与特定实例的类型有关。 我知道这看起来很奇怪,但我有理由。 我正在使用Unity 3D,每个控件实际上都是由编辑器实例化的GUI控件。 谢谢你的帮助。

可从同一类的另一个实例访问的私有字段

我没有得到以下..我一直以为我只能从声明字段的类访问私有字段。但在这种情况下,我能够访问它: class Session { List ListOfClients = new List(); public void IterateClients(Action action) { } } class client { private int A; Session area; public void SendData() { area.IterateClients(delegate(client c) { cA = 5; //how come this is accessible? }); } }

是否可以在自己的类中隐藏字段(或只是操纵/隐藏自动完成)?

我有一个(相当)复杂的文件与通常的组件混合。 我有一个字段(称为keyloaded )和一个链接属性(称为Keyloaded )。 在课堂上工作时,我不小心直接操纵了场地而不是财产。 这很可能是因为我对这一切仍然相当新(我现在三重检查!),然而,这已经是一个私人领域,除了与class级合作之外,它很有用。 我能做的只是简单的事情,将其从自动完成中删除吗? 如果没有,类似情况的最佳做法是什么? 在写这个问题的时候,我突然想起了我的书,他们谈到了下划线……这是否是最好的解决方案 – 把它放在视线之外?

Word模板,填充字段,C#.NET

我有一个word文档(docx格式),我需要填充字典中的数据。 dict的关键是要填充的字段。 我想知道最好的方法是什么(书签,邮件合并字段等)? 我做了一些Bookmarks的工作,但我希望能够重用一些字段(如“first_name”字段等),书签是独一无二的(或者我似乎这么认为)。 关于如何执行此操作的几行代码将非常有用。 (c#.net 4.0)

在“config.cfg”等文本文件中存储程序设置的逻辑如何?

我常常看到一些软件,特别是在文本文件中存储设置的游戏。 我想在我的C#WinForms应用程序中也有相同的东西(我知道可以用于用户和软件方面的应用程序设置)因为我认为最终用户更容易处理它。 所以我需要知道的是如何读取这些设置文件,例如设置类的字段。 想象一下,我有一个具有以下字段的类: private double vOffset = 0; private bool Refresh = false; 这将是我的文本文件(假设文件名为“config.cfg”): ;This is a comment Voltage Offset = 0.08 ;Refresh Enable = 1 | Disable = 0 Refresh = 1 想听听你的想法,也许还有一些代码可能! 用于读取此文件和更新类字段,以及如何从软件中保存或更新此列表。 谢谢。

C#中`Fields`和`Properties`有什么区别?

根据这些评论编辑: 你的意思是“财产”与“战场”吗? public String S1; vs public String S2 {get; 组; – 达娜 完全是达娜,我的意思是一样的。 – 阿萨德 阿萨德:你真的需要尝试用其他术语来描述你的意思,这样我们才能更好地理解你的问题。 C#没有全局变量。 您可以在C#中定义的字段不是全局的 – 它们是类类型的成员。 – dthorpe 嗨fellas, 需要您对Field和Property之间差异的专家意见。 在我的项目中,我使用了某些全局变量,后来我改为“属性”。 我的经理问的是使用变量Properties而不是Fields什么好处。 虽然我已回复他, Property提供了一种安全/安全/间接访问Field而不是直接修改它们,如果它们被宣布为public或protected 。 但请给我一些更有说服力的论据。 感谢致敬 @Asad:你应该把你的术语说得对: Fields不是Global Variables ,C#没有全局变量(正如一些评论者提到的:你可以模拟全局变量,但你不应该这样做)。

entity framework将列名称提供为字符串变量

我正在寻找获得这样的东西的方法: string _col1 = “first name”; string _name; var query = from c in ctx.Customers select c; _name = query.FirstOrDefault().[_name]; 据我所知,我只能获得强类型字段名称,但我想将它们作为字符串变量提供。

Lambda参数在后面的范围内访问字段时与类字段冲突

在名称方面我的想象力很弱,所以我经常发现自己在代码中重用了标识符。 这导致我遇到这个特定的问题。 这是一些示例代码: public delegate void TestDelegate(int test); public class Test { private int test; private void method(int aaa) { TestDelegate del = test => aaa++; test++; } public static void Main() { } } 以下是编译错误(由ideone输出): prog.cs(11,3): error CS0135: `test’ conflicts with a declaration in a child block prog.cs(9,22): (Location of the symbol related to […]

如何获得CRM 2011的所有实体领域?

我试图获取所有实体的字段模式名称,而不查询现有记录。 我什么都不知道。 另外,如何使用QueryExpression获取它,导致它检索包含一些信息的所有字段? Andrii,我正在尝试做这样的事情 var query = new QueryExpression {EntityName = “”, ColumnSet = new ColumnSet(true)}; var retrieve = service.RetrieveMultiple(query);