私は何度も何度も私の特定の方法を使用しています。したがって、このクラスをすべてのプロジェクトにインポートする傾向があります。このプロジェクトでは、WindowsPhoneデバイスのIsolatedStorageにアクセスする必要があります。
しかし、それは私には本当にエレガントに見えません。見てください:
public static Object getFileContent (String filename, String returntype)
{
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
Object returnobj = new Object();
List<String> list = new List<String>();
String r;
IsolatedStorageFileStream fileStream = isf.OpenFile(filename, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fileStream);
if (returntype.Equals("list"))
{
while ((r = reader.ReadLine()) != null)
{
list.Add(r);
}
returnobj = list;
}
else if (returntype.Equals("string"))
{
r = reader.ReadLine();
returnobj = r;
}
fileStream.Close();
reader.Close();
return returnobj;
}
私の主な問題はパラメータreturntype
です。明らかに文字列です。直接型として欲しいのですが。しかし、それは私の最後の試みではうまくいきませんでした。
また、この方法を使用すると、たとえば次のようになります。
string random = (string) MyFavClass.getFileContent("randomFile","string");
使用する前に、そのメソッドの戻り型をもう一度変換する必要があります。