Tag: 成员

Get方法的大小

在代码行方面是否有关于“获取”大小的指导方针或一般共识? 我在一个成员上有一个Get方法,这里很容易增长到30行代码。 我不确定在什么时候这应该被引入一个方法。 但是我只会调用类似GetMyString的东西,并将值分配给另一个成员并在构造函数中调用它。 有没有值得这样做? 这对SO来说太主观了吗?

将2个或更多字段添加到C#编码的值成员

我有4个主键字段的表。 我将其加载到使用C#创建的WinForm应用程序中的下拉列表中。 在下拉列表的TextChanged事件中,我有一定的TextBox,我想填充表中为下一个选择的某个字段填充的信息。 所以我说这个表有4个字段。 我可以将所有4个字段都从数据集中转换为值成员 ,或者您能告诉我这是否不可能吗? 谢谢。 Datatable dt=dba.getName(); cmb_name.ValueMember=”id”; cmb_name.DisplayMember=”name”; cmb_name.DataSource=dt; 这是正常的格式..但我有更多的关键字段..所以我需要添加更多的关键字段..

使用构造函数中的reflection设置数据类的属性

我有几个以类似于下面的方式定义的数据类,我正在尝试决定是否为每个数据类都有一个内置的构造函数来填充成员,或者在调用方法中只使用一次reflection: public class reportData { public List Deposits; } public class Deposits { public Deposits(List<Dictionary> LPQReq) { PropertyInfo[] properties = typeof(Deposits).GetProperties(); foreach (Dictionary PQList in LPQReq) { foreach (KeyValuePair kvp in PQList) { MemberInfo info = typeof(Deposits).GetField(kvp.Key) as MemberInfo ?? typeof(Deposits).GetProperty(kvp.Key) as MemberInfo; //PropertyInfo property = properties[kvp.Key]; // info.setvalue } } foreach (PropertyInfo property in […]

C#中的通用类成员?

嘿,我想我在这里有错误的想法,但我不确定什么是最好的。 我想要一个具有成员变量的类,它可以是任何类型,具体取决于当时需要的内容。 到目前为止,我有这样的事情: public class ConfigSetting { private T value; public T GetValue() { return value; } public void ChangeValue() { } public ConfigSetting(string heading, string key) { this.value = DerivedMethods.configsettings.SettingGroups[heading].Settings[key].RawValue; } } “this.value”行右侧返回的类型当前是一个字符串。 我知道这似乎我不需要使用除字符串类型之外的任何东西,但最终我将扩展构造函数,这样’this.value’可以是字符串,int,float或bool。 无论如何,我的编译器说“不能将’字符串’转换为’T’”,所以我假设我正在做一些非常倒退的事情。 谢谢。

在c#中将一组成员标记为私有/公共

在c ++类声明中,您可以将一组成员标记为私有或公共,例如 private: int x; double y; 似乎在c#中没有办法做到这一点。 我错了吗?

C#binarysearch由T的成员列出

我有一个带有DateTime成员TimeStamp的基类Event 。 许多其他事件类将源于此。 我希望能够快速搜索事件列表,所以我想使用二进制搜索。 (列表数据按时间戳排序,但同时发生的事件可能存在重复的时间戳) 所以我开始写这样的东西: public class EventList : List where T : Event { private IComparer comparer = (x, y) => Comparer.Default.Compare(x.TimeStamp, y.TimeStamp); public IEnumerable EventsBetween(DateTime inFromTime, DateTime inToTime) { // Find the index for the beginning. int index = this.BinarySearch(inFromTime, comparer); // BLAH REST OF IMPLEMENTATION } } 问题是BinarySearch只接受T(所以 – 一个Event类型)作为参数,而我想基于T的成员 – […]

C#访问静态函数中的非静态成员

所以我有一个function: List names = new string(); private static void getName(string name) { names.add(name); } 当我尝试编译时,我得到一个:’非静态字段’通知需要’对象引用。 我该怎么做才能使这个成员(名称)与getName兼容? 我需要它是非静态的或转换的,因为我想将结果放入其他非静态函数和表单中。

在C#中访问成员时,`this`关键字是可选的吗?

我注意到如果你在一个类中有一个私有成员,你可以通过引用它的名称在类方法中访问它。 你不需要说this.memberName ,只是memberName有效。 那么在成员访问的上下文中this关键字是可选的吗? 当你想澄清范围时,我确实看到它很有用 – 当你有两个同名的变量时。 访问会员时是否还有其他理由使用它?

访问非静态成员需要对象引用

我有这个错误出现,我不知道为什么……我试图查找它,人们说要创建类的对象或创建方法为静态…但我是不确定如何。 这是我的代码如下: public class SoundManager : MonoBehaviour { public List audioSounds = new List(); public double minTime = 0.5; public static void playSound(AudioClip sourceSound, Vector3 objectPosition, int volume, float audioPitch, int dopplerLevel) { bool playsound = false; foreach (AudioSource sound in audioSounds) // Loop through List with foreach { if (sourceSound.name != sound.name && sound.time […]

获取类成员的默认值

我们假设我有一个ClassWithMember类 class ClassWithMember { int myIntMember = 10; } 如何通过System.Type获取myIntMember成员的默认值10? 我目前正在努力解决所有我的反思是int(0)的默认值而不是类默认成员(10)..