gpt4 book ai didi

c# - 如何以干净的方式为原始类型实现扩展属性类?

转载 作者:行者123 更新时间:2023-11-30 21:22:44 25 4
gpt4 key购买 nike

基本上我想要的是生成与给定值不同的其他随机值。

我不知何故无法以一种很好的方式掌握原始类型。

基本类型有 Boolean、Byte、SByte、Int16、UInt16、Int32、UInt32、Int64、UInt64、IntPtr、UIntPtr、Char、Double 和 Single。

这基本上是我正在尝试做的事情。

  int oldValue = 1;
oldValue.Other(); // 2

long oldValue = 1;
oldValue.Other(); // 2

string oldValue = "1";
oldValue.Other(); "5"

有人建议我如何很好地解决这个问题吗?

最佳答案

有一个名为 ValueType 的基类。问题是您需要在使用它时将值转换为 child 。

例如

int a =3;
int b = (int)a.abc();

扩展如下所示

public static class ValueTypeExtension
{
public static ValueType abc(this ValueType a) {

return default(ValueType);
}
}

您必须对 if elseif 中的参数“a”执行类型检查才能正确返回您想要的值。

例如

    if( a is Int32 )
return 4;

更新: 字符串不完全是一种值类型,但它被视为一种值类型。您仍然需要在单独的扩展方法中处理字符串。

关于c# - 如何以干净的方式为原始类型实现扩展属性类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com