小编Jor*_*ren的帖子

OO设计 - 您是否在内部使用公共属性或私有字段?

我在C#2.0工作,但这适用于大多数面向对象的语言.当我创建具有包装私有字段的公共属性的类时,我会在内部是否应该使用属性或字段之间来回切换.当然C#3.0使自动属性更容易,但它仍然适用.

有关系吗?

public class Person
{
    private string _name = "";

    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }

    public Person(string name)
    {
        _name = name; //should I use the property or field here?
    }
}
Run Code Online (Sandbox Code Playgroud)

c# oop coding-style

6
推荐指数
2
解决办法
1678
查看次数

使用其他类C#中的字符串

我有一个类请求在调用时在请求/初始化时发送一个字符串.

class Checks
{
    public Checks(string hostname2)
    {
        // logic here when class loads

    }

    public void Testing()
    {
        MessageBox.Show(hostname2);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在类构造函数中获取字符串"hostname2"并允许在"Checks"类中的任何位置调用此字符串?

例如,我从Form1类调用Checks(hostname2),现在当Checks类初始化时,我可以在Checks类中使用hostname2字符串.

.net c#

5
推荐指数
1
解决办法
174
查看次数

仿制药和工厂

我是泛型的新手,并且一直在试图弄清楚如何从工厂返回一个基类是通用类的实例.请参阅下面的示例代码 这些问题在工厂类中突出显示:

public abstract class MyGenericBaseClass<T>
{
    public string Foo()
    {...}
}

public sealed class MyDerivedIntClass : MyGenericBaseClass<int>
{

}

public sealed class MyDerivedStringClass : MyGenericBaseClass<string>
{

}

public static class MyClassFactory
{
    public static MyGenericBaseClass<T> CreateMyClass<T>()
    {
        // **********************************************
        if (typeof(T) == typeof(int))
        {
            return new MyDerivedIntClass();
        }

        if (typeof(T) == typeof(string))
        {
            return new MyDerivedStringClass();
        }
        // **********************************************
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么绕过这个?

非常感谢提前

Ohgee

c# generics

4
推荐指数
1
解决办法
649
查看次数

像在java中一样重新定义objC的枚举

在java中这是可能的:

enum VisitSetting {
  NOT_VISITED,
  QUERIED_VISITED,
  CONFIRMED_VISITED
}

enum ExcludeSetting {
  NONE,
  QUERIED_VISITED_AND_CONFIRMED_VISITED,
  CONFIRMED_VISITED
}
Run Code Online (Sandbox Code Playgroud)

请注意,CONFIRMED_VISITED也在ExcSetSetting中的VisitSetting中.

我想在目标c中有一些simulair然后我得到了 Redefinition of enumerator 'CONFIRMED_VISITED'

这是实施:

#ifndef RouteApp_IGConstants_h
#define RouteApp_IGConstants_h

typedef enum {
    NOT_VISITED = 0,
    QUERIED_VISITED,
    CONFIRMED_VISITED
} VisitSetting;

typedef enum {
    NONE = 0,
    QUERIED_VISITED_AND_CONFIRMED_VISITED,
    CONFIRMED_VISITED
} ExcludeSetting;



#endif
Run Code Online (Sandbox Code Playgroud)

怎么解决这个问题?我希望不重命名CONFIRMED_VISITED.

enums objective-c

2
推荐指数
1
解决办法
3646
查看次数

标签 统计

c# ×3

.net ×1

coding-style ×1

enums ×1

generics ×1

objective-c ×1

oop ×1