试图在 C# 中控制对象分配
Trying to control object assignment in c#
我希望能够控制两个对象的分配。
因此,如果我的 class 在字符串的情况下看起来像这样(非常粗糙但只是示例)
public class fixLen
{
public int len;
public string str;
public fixLen(string str, int len)
{
this.str = str;
this.len = len;
}
}
然后在我的主要 class 我这样做;
fixLen str1 as new fixLen("abc", 3);
fixLen str2 as new fixLen("wxyz", 4);
str1 = str2
当 str2 分配给 str1 时,我希望能够查询每个对象的 len 属性 并执行分配。在这种情况下,我希望 str1.str 属性 以 "wxy" 的值结束,将 "wxyz" 截断为 3 个字符 (str1.len)。我试图用 "operator" 程序元素来实现它,但它似乎不允许我同时查询源对象和目标对象。此功能的一个关键要素是它必须在 class 中实现。除了;
之外,我不想在我的主要 class 中使用任何其他语法
str1 = str2
我想用最简单的术语来说,我想创建另一种原子类型,如 int、float 或 string。
以数字为例;
public class fixNum
{
public int len;
public string val;
public fixLen(int val, int len)
{
this.val= val;
this.len = len;
}
}
然后在我的主class;
fixNum num1 as new fixNum(0, 2)
fixnum num2 as new fixNum(999, 3)
num1 = num2 + 1
因此 num1 的最终值为 99。
我能想到的唯一方法是:
在你的class中定义一个方法:
public void SetValue(fixLen f)
{
str = f.str.Substring(0, len);
}
并使用它 str1.SetValue(str2);
。
我希望能够控制两个对象的分配。 因此,如果我的 class 在字符串的情况下看起来像这样(非常粗糙但只是示例)
public class fixLen
{
public int len;
public string str;
public fixLen(string str, int len)
{
this.str = str;
this.len = len;
}
}
然后在我的主要 class 我这样做;
fixLen str1 as new fixLen("abc", 3);
fixLen str2 as new fixLen("wxyz", 4);
str1 = str2
当 str2 分配给 str1 时,我希望能够查询每个对象的 len 属性 并执行分配。在这种情况下,我希望 str1.str 属性 以 "wxy" 的值结束,将 "wxyz" 截断为 3 个字符 (str1.len)。我试图用 "operator" 程序元素来实现它,但它似乎不允许我同时查询源对象和目标对象。此功能的一个关键要素是它必须在 class 中实现。除了;
之外,我不想在我的主要 class 中使用任何其他语法str1 = str2
我想用最简单的术语来说,我想创建另一种原子类型,如 int、float 或 string。
以数字为例;
public class fixNum
{
public int len;
public string val;
public fixLen(int val, int len)
{
this.val= val;
this.len = len;
}
}
然后在我的主class;
fixNum num1 as new fixNum(0, 2)
fixnum num2 as new fixNum(999, 3)
num1 = num2 + 1
因此 num1 的最终值为 99。
我能想到的唯一方法是:
在你的class中定义一个方法:
public void SetValue(fixLen f)
{
str = f.str.Substring(0, len);
}
并使用它 str1.SetValue(str2);
。