使用 1 行代码而不是使用相同的代码
use 1 line of code instead of the use the same code
我有这样的代码:
string FileName = "Users.json";
var DeserializeOptions = new JsonSerializerOptions { AllowTrailingCommas = true };
string jsonstring = File.ReadAllText(FileName);
var result = JsonSerializer.Deserialize<Root>(jsonstring, DeserializeOptions);
根是 2 个对象的列表:怪物和人。我在我的 win forms 程序中使用这 4 行代码超过 10 次。是否可以为 class 更改此代码并使用更短的代码在其他 .cs 文件中使用?
当然 - 将您的代码放入方法中:
internal static class MyUtilities
{
public static Root DoMyStuff()
{
string FileName = "Users.json";
var DeserializeOptions = new JsonSerializerOptions { AllowTrailingCommas = true };
string jsonstring = File.ReadAllText(FileName);
return JsonSerializer.Deserialize<Root>(jsonstring, DeserializeOptions);
}
}
根据您的用例以及您的代码在这些不同实例中的不同情况(不确定它是否 100% 相同,或者使用不同的文件名,例如),您可能希望接受其中一些值作为参数.
在任何情况下,您都可以像这样用单行替换所有代码:
var result = MyUtilities.DoMyStuff();
我有这样的代码:
string FileName = "Users.json";
var DeserializeOptions = new JsonSerializerOptions { AllowTrailingCommas = true };
string jsonstring = File.ReadAllText(FileName);
var result = JsonSerializer.Deserialize<Root>(jsonstring, DeserializeOptions);
根是 2 个对象的列表:怪物和人。我在我的 win forms 程序中使用这 4 行代码超过 10 次。是否可以为 class 更改此代码并使用更短的代码在其他 .cs 文件中使用?
当然 - 将您的代码放入方法中:
internal static class MyUtilities
{
public static Root DoMyStuff()
{
string FileName = "Users.json";
var DeserializeOptions = new JsonSerializerOptions { AllowTrailingCommas = true };
string jsonstring = File.ReadAllText(FileName);
return JsonSerializer.Deserialize<Root>(jsonstring, DeserializeOptions);
}
}
根据您的用例以及您的代码在这些不同实例中的不同情况(不确定它是否 100% 相同,或者使用不同的文件名,例如),您可能希望接受其中一些值作为参数.
在任何情况下,您都可以像这样用单行替换所有代码:
var result = MyUtilities.DoMyStuff();