是否可以像
那样提供C#对象public string Name
{
get { return _name; }
set { _name = value; }
}
方法做类似的事情:
private void addTextToName(){
_name = _name + " - Test";
}
所以我可以像
一样调用它Name.addTextToName();
因为(我来自哪里)你可以使用.prototype
来做这些事情有没有办法在C#中执行此操作?
答案 0 :(得分:3)
如果您要求我可以在字符串中添加方法吗?然后是。看看扩展方法。
public static string AddTextToName(this string s)
{
return s + " - Test";
}
像这样使用:
"Hello".AddTextToName();
将返回Hello - test
。
答案 1 :(得分:1)
是的,C#Objects有一种方法(你在那里使用了一个字符串,但是......)。
看看C#中所谓的“扩展方法”,因为它们正是您所需要的。
如需进一步参考,请查看这里:https://msdn.microsoft.com/en-us/library/vstudio/bb383977%28v=vs.110%29.aspx(魔法在this
作为方法的参数)
答案 2 :(得分:0)
使用扩展方法。
class Program
{
static void Main()
{
Example e = new Example();
e.Name = "Hello World";
var x = e.Name;
var y = x.addTextToName();
Console.WriteLine(y);
Console.ReadLine();
}
}
class Example
{
public string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
}
public static class MyExtensions
{
public static string addTextToName(this string str)
{
return str += " - Test";
}
}