高分请教 C# 关于操作符重载的问题?

Nepton 2007-01-04 05:35:40
大家好,我现在遇到一个操作符重载的问题,请大家帮忙解决:

public class Test
{
public int Value;
}


public class Program
{
static void Main(string[] args)
{
Test t = new Test();
Console.WriteLine(t.Value); // 这样的代码 OK

Console.WriteLine(Test.Value); // 这样的代码错误

// 这就是我的问题,我怎么实现一个字段(或者属性),通过使用
// 类.xxx 和 对象.xxx
// 都不报错(但是'.'好像不能够被重载)
}
}

// 谢谢大家的帮助
...全文
372 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nepton 2007-01-05
  • 打赏
  • 举报
回复
虽然问题没有解决
散分
Nepton 2007-01-05
  • 打赏
  • 举报
回复
谢谢
colaxu 2007-01-05
  • 打赏
  • 举报
回复
类.字段 和 对象.字段 ;为什么会有这种要求呢??
gzwuyh 2007-01-05
  • 打赏
  • 举报
回复
************************************************************************************
请看查询条件代码:Customer.Name.Like("Test") ,在这里我要使用类.字段(或者属性)
请问,我怎么实现这个 Customer 类,最关键是 类.字段 和 对象.字段 同时指向一个东东
************************************************************************************
类.字段:这样静态的只有一个,
对象.字段:你说类可以创建多少个对象,类.字段要指向哪个对象的字段呢?你说这有可能么?
你既然已经查询出customer2,为何不直接用customer2对象去取Name,要用类.Name。
你其实就是想在保存的前面只赋值,后面直接调用。那样的话,你只能用一个静态的变量!
Customer customer = new Customer();
customer.Name = "Test";
Customer.staticName="Test" //这样你在查询时就可以用这个变量
customer.Save();





scow 2007-01-05
  • 打赏
  • 举报
回复
做不到,个人意见。
静态:在同一应用程序域只有一份。
非静态:每个实例都有一份。
如果能这样写,编译器怎么知道调用的是哪个。函数重载还有签名的不同可供分辨,这个完全相同,怎么区分。
Nepton 2007-01-04
  • 打赏
  • 举报
回复
class Customer
{
public string Name;
public static string Name;
}

我就想不通为什么上边的代码微软就是不给编译,一个静态,一个非静态,井水不犯河水,又不会有什么影响,晕
Nepton 2007-01-04
  • 打赏
  • 举报
回复
// 我不能够设置为静态变量.
// 例如我有一个类,客户
Customer customer = new Customer();
customer.Name = "Test";
customer.Save();
// 这样,我创建一个客户对象,设置他的名字,并保存。
// 然后我接着写一个查询把他查出来
Customer customer2 = new Query<Customer>(Customer.Name.Like("Test")).GetEntity();
if( customer2 != null )
{
Console.WriteLine(customer2.Name);
}
// 屏幕输出: Test


请看查询条件代码:Customer.Name.Like("Test") ,在这里我要使用类.字段(或者属性)
请问,我怎么实现这个 Customer 类,最关键是 类.字段 和 对象.字段 同时指向一个东东
jiaguoli 2007-01-04
  • 打赏
  • 举报
回复

设为静态变量去实现。
lizhizhe2000 2007-01-04
  • 打赏
  • 举报
回复
这不是运算符重载,可设为静态变量!
liujia_0421 2007-01-04
  • 打赏
  • 举报
回复
好奇的问下,为什么会有这样的需求呢?
pfworld 2007-01-04
  • 打赏
  • 举报
回复
public class clsAA
{

public static void LogAA()
{
...
}
}

就可以用clsAA.LogAA();

pfworld 2007-01-04
  • 打赏
  • 举报
回复
例子:
using System;

namespace prjCx
{
/// <summary>
/// clsGlobalSingleton 的摘要说明。
/// </summary>
public class clsGlobalSingleton:clsGlobal
{
private static clsGlobal clsglobal=null; // 声明静态类;

public clsGlobalSingleton()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

/// <summary>
/// 饿汉单太模式 返回类 clsGlobal 的实例
/// </summary>
public static clsGlobal GlobalInstance
{
get
{
if (clsglobal == null)
{
clsglobal =new clsGlobal();
}
return clsglobal;
}
}

}
}
scow 2007-01-04
  • 打赏
  • 举报
回复
错了,sorry.
scow 2007-01-04
  • 打赏
  • 举报
回复
静态属性
zdywqy 2007-01-04
  • 打赏
  • 举报
回复
sf
本文整理了面试中常见的技术问题及基础知识,包括访问权限、ASP.NET页面间传递参数、递归算法、委托与事件、多态性、数据访问、三层架构、C#语言特性、索引器使用、应用域概念、CTS、CLS、CLR解释、装箱与拆箱、托管代码、强命名程序集、读写数据库、身份验证方式、代码后置技术、配件理解、调用WebService方法、.NET Remoting原理、字符串区别、类与结构异同、委托实现、线程安全、REMOTING与WEBSERVICE对比、自定义控件功能、XML遍历算法、SQL查询优化、面向对象原则、集合遍历、线程同步、进程与线程区别、堆栈与堆内存差异、成员变量与成员函数静止作用、XML与HTML区别、三元运算符、装箱过程、类可访问形式、const使用错误、浮点型转换、委托声明关键字、密封类特点、ASP.NET用户控件、SOAP应用、属性与特性区别、错误处理机制、消息用户自定义与窗体处理、取消关闭窗体方法、.NET错误处理、操作符声明错误、整数赋值给object对象、类成员访问形式、静态const修饰、int值赋给object、委托声明、密封类实例化、switch条件语句、Page类继承、异常处理机制、自定义消息处理、窗口关闭取消、SQL查询语句、数据库冗余删除、每门课高分学生姓名查询、删除重复数据方法、前端开发技术、后端开发技术、移动开发技术、游戏开发技术、大数据开发技术、开发工具使用、嵌入式硬件与电路知识、嵌入式开发环境、音视频基础与直播技术、图像处理与AR特效、AI音视频处理、测试技术、基础运维、DevOps实践、操作系统类型、云计算厂商、自然语言处理、区块链技术、隐私计算、文档协作工具、版本控制系统、项目管理工具、有监督学习、无监督学习、半监督学习、强化学习、数据安全、数据挖掘、数据结构、算法设计、非IT话题、自动推理、人工神经网络与计算、自动驾驶技术、数据分析方法、数据工程实践、程序设计方法、数据库理论、代码管理工具

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧