我需要从类中获取私有字符串,并计算字符串中单词的频率。
计数是最容易的部分...我正在努力的一点是从第二堂课获得字符串。
继承人我想要的东西
public class GetString
{
private string myText = "this is the string that i need to get"
private string text;
public GetString()
{
text = myText
}
非常感谢任何和所有的帮助。我也被告知我不能编辑这个课程
答案 0 :(得分:5)
我的观点中有三个选项:
myText
public
。return
myText
来自其他公开会员,最好是property。答案 1 :(得分:1)
这似乎相当有趣,你的getString类中没有任何内容返回字符串。尝试像
这样的东西public class getString
{
private string myText = "this is the string that i need to get"
public String getString()
{
return myText
}
getString a = new getString();
String hiddenString = a.getString();
答案 2 :(得分:1)
使用Properties
(属性是一个提供灵活机制来读取,写入或计算私有字段值的成员。):
public string MyText
{
get { return myText; }
private set { myText = value; }
}
答案 3 :(得分:1)
似乎你的 getString 类(顺便说一下 - 用小写字母命名一个错误的类)包含 text 属性。如果此属性是公共的,您可以使用它来获取字符串。如果它不公开,可能有一种方法可以公开它。您的代码不完整,因此无法确定。
如果没有公开属性或公开字符串的方法,那么唯一的方法是通过反射
答案 4 :(得分:1)
您不能将构造函数用于此目的。试试这个:
public class Foo
{
private string myText = "this is the string that i need to get";
public Foo()
{
}
public String GetString()
{
return this.myText;
}
}
每个方法都应该具有void关键字或返回类型,在您的情况下是String。
答案 5 :(得分:0)
要继续使用@Petrichor,您还可以使用接口:
public interface IHasText
{
string GetPrivateText();
}
public class GetString : IHasText
{
private string myText = "this is the string that i need to get";
string IHasText.GetPrivateText()
{
return myText;
}
}
var val = new GetString();
var asInterface = (IHasText)val;
string text = asInterface.GetPrivateText();