相关疑难解决方法(0)

如何在C#中为类名设置别名,而不必为每个使用该类的文件添加一行代码?

我想为类名创建一个别名.以下语法将是完美的:

public class LongClassNameOrOneThatContainsVersionsOrDomainSpecificName
{
   ...
}

public class MyName = LongClassNameOrOneThatContainsVersionOrDomainSpecificName;
Run Code Online (Sandbox Code Playgroud)

但它不会编译.


注意此示例仅供参考.不要试图通过建议改变整个系统的设计来解决这个特殊问题.此示例的存在或缺乏不会改变原始问题.

一些现有代码依赖于静态类的存在:

public static class ColorScheme
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

此配色方案是Outlook 2003配色方案.我想介绍一个Outlook 2007配色方案,同时保留Outlook 2003配色方案:

public static class Outlook2003ColorScheme
{
   ...
}

public static class Outlook2007ColorScheme
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

但我仍然面临这样一个事实,即代码依赖于名为ColorScheme的静态类的存在.我的第一个想法是创建一个ColorScheme类,我将从Outlook2003或Outlook2007下载:

public static class ColorScheme : Outlook2007ColorScheme
{
}
Run Code Online (Sandbox Code Playgroud)

但你不能从静态类下降.

我的下一个想法是创建静态ColorScheme类,但使Outlook2003ColorScheme和Outlook2007ColorScheme类非静态.然后静态ColorScheme类中的静态变量可以指向"true"颜色方案:

public static class ColorScheme
{
    private static CustomColorScheme = new Outlook2007ColorScheme();
    ...
}

private class CustomColorScheme 
{ 
   ...
}

private class Outlook2008ColorScheme : CustomColorScheme 
{
    ...
} …
Run Code Online (Sandbox Code Playgroud)

c# class-design

71
推荐指数
7
解决办法
7万
查看次数

我怎样才能继承字符串类?

我想继承扩展C#字符串类来添加类似的方法WordCount()和其他许多方法,但我不断收到此错误:

错误1'WindowsFormsApplication2.myString':无法从密封类型'string'派生

有没有其他方法可以通过这个?我尝试过string,String但它没有用.

.net c# string inheritance

20
推荐指数
4
解决办法
3万
查看次数

我可以为我自己的类定义C#别名/关键字,如int,string,object吗?

不是关于using foo = MyPackage.Foo;

我意识到这更多地与IDE(Visual Studio 2010)有关,它向我展示了蓝色的特殊类型.我想我的一些课程.我希望它是蓝色的 (呈现为特殊的)并且可以在整个项目中访问.

原因是我想给他们意义/重要性,以便我的团队中的每个人都知道这个课程是整个项目的关键课程.

// "foo" and "Foo" shall be just the same type:
foo:     MyPackage.Foo

object:  System.Object
string:  System.String
bool:    System.Boolean
byte:    System.Byte
sbyte:   System.SByte
short:   System.Int16
ushort:  System.UInt16
int:     System.Int32
uint:    System.UInt32
long:    System.Int64
ulong:   System.UInt64
float:   System.Single
double:  System.Double
decimal: System.Decimal
char:    System.Char
Run Code Online (Sandbox Code Playgroud)

那可能吗 ?如果我的IDE安装中有一个文件,里面会有上面的关键字,我可以添加一些关键字并保存并重新启动IDE?

要有两个班级,我可以这样做.这是同一个班级的两个名字.我知道我需要在这些之间施展.

public class foo : Foo
{ }
Run Code Online (Sandbox Code Playgroud)

c# alias types visual-studio

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

标签 统计

c# ×3

.net ×1

alias ×1

class-design ×1

inheritance ×1

string ×1

types ×1

visual-studio ×1