This commit is contained in:
xyy
2026-04-12 20:22:21 +08:00
parent e774c2374c
commit 690a7b587a
4 changed files with 47 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
namespace MembranePoreTester.Models
{
public class TestLiquid
public class TestLiquid : IEquatable<TestLiquid>
{
public string Name { get; set; }
public double SurfaceTension { get; set; } // mN/m, 25°C
@@ -10,7 +10,7 @@
public double C_cmHg => 2.15 * SurfaceTension;
public double C_psi => 0.415 * SurfaceTension;
public static List<TestLiquid> Predefined => new()
private static readonly List<TestLiquid> _predefined = new()
{
new TestLiquid { Name = "水", SurfaceTension = 72.0 },
new TestLiquid { Name = "石油馏分", SurfaceTension = 30.0 },
@@ -18,5 +18,21 @@
new TestLiquid { Name = "液态石蜡", SurfaceTension = 34.7 },
new TestLiquid { Name = "BSD16", SurfaceTension = 16.0 } // 新增
};
// 返回可修改的全局液体列表(允许在运行时添加自定义液体便于恢复选择)
public static List<TestLiquid> Predefined => _predefined;
public override string ToString() => Name;
public bool Equals(TestLiquid other)
{
if (other is null) return false;
// 以 Name 为主键判断相等SurfaceTension 可作为辅助信息
return string.Equals(Name, other.Name, StringComparison.Ordinal);
}
public override bool Equals(object obj) => Equals(obj as TestLiquid);
public override int GetHashCode() => Name?.GetHashCode() ?? 0;
}
}