V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  cxe2v  ›  全部回复第 27 页 / 共 235 页
回复总数  4694
1 ... 23  24  25  26  27  28  29  30  31  32 ... 235  
❮ ❯
2025 年 1 月 24 日
回复了 makry 创建的主题 › Apple › [非改语言!非反馈客服!] 亲测有效开通微信 callkit 的方法
@wenjor 放心,没有你想象中的那么多人会打语音给你,你这属于庸人自扰
@lulaolu 第七天,人类在与 AI 的战争中永远地消亡了
确实好用,但这推广也确实烦
2025 年 1 月 22 日
回复了 wseani 创建的主题 › 分享创造 › 用 Cursor 半小时上线了一个网站
你这玩意跟商业项目之间的差别

就跟我手搓一个可以接受卫星信号的锅盖收看卫视和专业卫星通信天线之间的差别那么大
2025 年 1 月 15 日
回复了 MrQSJ 创建的主题 › 生活 › 现在过年大家还有什么期待的吗?
都 30 左右的人了,还没转变自己的角色为提供期待的人,除了没长大别无他词
2025 年 1 月 14 日
回复了 Duanye7X24 创建的主题 › 生活 › 中年以后是不是只有烟,酒才是最忠实的朋友
烟,致癌,生命缩短
酒,致癌,生命缩短
摩托车,费钱,容易出事故死了,生命大幅缩短
钓鱼,浪费生命,生命缩短
女人,浪费精力,会导致生命缩短
运动,消耗关节,会致病痛,生命质量降低
玩游戏,浪费生命
.........

总之,你做什么都会浪费生命或者导致寿命缩短,还是就安静待着吧
2024 年 12 月 24 日
回复了 LuckyPocketWatch 创建的主题 › 旅行 › 很少坐飞机,问下这种颠簸算大还是算小?
好像是历史上没有一起空难是因为颠簸
2024 年 12 月 23 日
回复了 loverorser 创建的主题 › 生活 › 为什么不初一初二回家过年
如果不需要在特定日子的话,为什么不现在就把家里人接过来过年
2024 年 12 月 13 日
回复了 cooco 创建的主题 › 职场话题 › 两个 offer 该怎么选呢
@cooco #7 年终这玩意最不可靠,另外,去 B 加班,钱还少了,-2 分了都
2024 年 12 月 13 日
回复了 cooco 创建的主题 › 职场话题 › 两个 offer 该怎么选呢
@cooco #5 B 不是少 2K ?你是算上了 N+2 的那个+2 了?
2024 年 12 月 13 日
回复了 cooco 创建的主题 › 职场话题 › 两个 offer 该怎么选呢
没看出 B 钱多在哪
2024 年 12 月 13 日
回复了 irisdev 创建的主题 › C# › 请教下 C#有没有办法用装饰器全局监控方法执行时间
@cxe2v

1. 定义一个自定义特性
创建一个特性类,用于标记需要记录耗时的方法:

csharp
复制代码
[AttributeUsage(AttributeTargets.Method, Inherited = true)]
public class MeasureTimeAttribute : Attribute
{
}
2. 使用动态代理拦截方法调用
通过 AOP (面向切面编程)的方式,例如使用 Castle DynamicProxy 或 DispatchProxy ,拦截方法的执行并记录耗时。

使用 DispatchProxy 示例:
csharp
复制代码
using System;
using System.Diagnostics;
using System.Reflection;

public class MethodInterceptor<T> : DispatchProxy
{
private T _decorated;

public static T Create(T decorated)
{
object proxy = Create<T, MethodInterceptor<T>>();
((MethodInterceptor<T>)proxy)._decorated = decorated;
return (T)proxy;
2024 年 12 月 13 日
回复了 irisdev 创建的主题 › C# › 请教下 C#有没有办法用装饰器全局监控方法执行时间
我一问 gpt ,代码就出来了,不比在这里问这些网友快?


}

protected override object Invoke(MethodInfo targetMethod, object[] args)
{
// 检查方法是否有 MeasureTimeAttribute
if (targetMethod.GetCustomAttribute<MeasureTimeAttribute>() != null)
{
var stopwatch = Stopwatch.StartNew();
try
{
// 执行实际方法
return targetMethod.Invoke(_decorated, args);
}
finally
{
stopwatch.Stop();
Console.WriteLine($"方法 {targetMethod.Name} 执行耗时: {stopwatch.ElapsedMilliseconds} ms");
}
}
else
{
// 没有特性直接调用方法
return targetMethod.Invoke(_decorated, args);
}
}
}
3. 应用到目标类
csharp
复制代码
public interface IExampleService
{
[MeasureTime]
void DoSomething();

void DoOtherThing();
}

public class ExampleService : IExampleService
{
public void DoSomething()
{
// 模拟耗时操作
System.Threading.Thread.Sleep(100);
Console.WriteLine("执行 DoSomething");
}

public void DoOtherThing()
{
Console.WriteLine("执行 DoOtherThing");
}
}
4. 使用动态代理包装实例
csharp
复制代码
class Program
{
static void Main()
{
var service = MethodInterceptor<IExampleService>.Create(new ExampleService());

service.DoSomething(); // 记录耗时
service.DoOtherThing(); // 不记录耗时
}
}
2024 年 12 月 4 日
回复了 v2Donuts 创建的主题 › 职场话题 › 被公司新来的前端一句话怼无语了
@stabc 你这个认知我觉得你也是个没有什么进步的后端仔
2024 年 12 月 4 日
回复了 hatter64 创建的主题 › 职场话题 › 一般情况下,会把午休时间算入工作时间内吗?
@me1onsoda 他们还有早茶和下午茶时间
1 ... 23  24  25  26  27  28  29  30  31  32 ... 235  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2022 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 297ms · UTC 04:21 · PVG 12:21 · LAX 20:21 · JFK 23:21
♥ Do have faith in what you're doing.