是否可以使用常量值来命名函数?

Ric*_*olo 0 c# asp.net-mvc-4

我想做点什么

public ActionResult Constants.MethodName()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)

你觉得可能吗?

更新:我想这样,因为我在客户端有一些应用程序的组件调用此方法.所以,如果有一天我想重命名这个方法,那么一切都将被打破.如果我使用常量,我可以毫无问题地重命名它. Constants在这个例子中是一个共享库,一个项目中的静态类,它包含解决方案的所有常量.

Constants 看起来像这样

public static class Constants
{
    public const string MethodName = "MethodName";    
}
Run Code Online (Sandbox Code Playgroud)

在客户端:

            HubConnection connection = new HubConnection(_hubUrl);
            IHubProxy proxy = connection.CreateHubProxy(Constants.MethodName);
            connection.Start().Wait();
Run Code Online (Sandbox Code Playgroud)

Str*_*ior 5

不,但我认为您可以通过interface在共享库中实现,而不是constant在该库中引用,来实现您正在寻找的结果.

在客户端和服务器共享的库中:

public interface ISomeService
{
    SomeResult SomeAction();
}
Run Code Online (Sandbox Code Playgroud)

在服务器上:

public SomeService : ApiController, ISomeService
{
    public SomeResult SomeAction() {...}
}
Run Code Online (Sandbox Code Playgroud)

在客户端:

SomeResult someResult = await serviceLayer.Invoke<ISomeService>(s => s.SomeAction());
Run Code Online (Sandbox Code Playgroud)

这样的结构允许您在界面上重命名服务方法,并使用重构工具自动在客户端和服务器代码中重命名.