小编ste*_*ste的帖子

为什么要用PHP框架?

我很好奇,使用PHP框架有什么优点(和缺点)?

从版本3开始我一直在使用PHP.我从来没有使用任何可用于PHP的框架,所以我错过了什么?

php frameworks

32
推荐指数
3
解决办法
2万
查看次数

使一个超类有一个静态变量,它对于c#中的每个子类都是不同的

在子类中没有任何代码的情况下,我希望抽象类为每个子类提供不同的静态变量副本.在C#中

abstract class ClassA
{
    static string theValue;

    // just to demonstrate
    public string GetValue()
    {
        return theValue;
    }
    ...
}
class ClassB : ClassA { }
class ClassC : ClassA { }
Run Code Online (Sandbox Code Playgroud)

和(例如):

(new ClassB()).GetValue(); // returns "Banana"
(new ClassC()).GetValue(); // returns "Coconut"
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案是:

abstract class ClassA
{
    static Dictionary<Type, string> theValue;
    public string GetValue()
    {
        return theValue[this.GetType()];
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

虽然这很好用,但我想知道是否有更优雅或内置的方式来做到这一点?

这类似于我可以为每个不同类型的继承类拥有静态变量的不同副本,但我无法控制子类

c# inheritance static-variables

7
推荐指数
2
解决办法
7619
查看次数

如何在VS宏中检索标识符的完全限定名称?

我正在尝试使用Visual Studio 2008中的宏(甚至是加载项)在代码窗口的某个点(光标)处解析ac#identifier的完全限定名称.

例如,如果光标在"Rectangle"中,我想返回"System.Drawing.Rectangle".

我已经尝试了FileCodeModel.CodeElements,.CodeElementFromPoint但他们只检索包含方法或类(和其他).

如果使用宏或加载项无法完成此操作(即使VS通过intellisense知道信息),是否可以在c#文件中使用Reflection读取并获取所需信息?

c# macros intellisense visual-studio-addins visual-studio-2008

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

确定给定窗口当前是否正在移动

基本上,我正在寻找 IsWindowMoving(HWND) Win32 API 调用。我需要知道用户当前是否正在移动窗口。

该窗口不属于我,因此不可能侦听 WM_SYSCOMMAND / SC_MOVE 或 WM_MOVING (由于 32/64 互操作,我不想子类化或挂钩)。

windows winapi window-messages

3
推荐指数
1
解决办法
1704
查看次数