重用函数而无需实例化新类的最简单方法

2023-12-09

我目前有一个如下所示的函数:

public void AnimateLayoutTransform(object ControlToAnimate)
{
//Does some stuff
}

我在很多不同的项目中使用这个函数,所以我希望它具有很强的可重用性。所以现在我把它放在一个 .cs 文件中,包含在命名空间和类中:

namespace LayoutTransformAnimation
{
    public class LayoutAnims
    {
        public void AnimateLayoutTransform(object ControlToAnimate)
        {
            //Do stuff
        }
    }
}

问题是,要在给定项目中使用这个函数,我必须做类似的事情

new LayoutTransformAnimation.LayoutAnims().AnimateLayoutTransform(mygrid);

重用单个函数似乎需要做很多工作。有没有办法至少可以使用该函数而不创建该类的新实例?类似于我们如何可以Double.Parse()无需创建新的double?


一种选择是使其成为普通的静态方法。另一种选择 - 如果您使用的是 C# 3.0 或更高版本 - 是将其设为扩展方法:

public static class AnimationExtensions
{
    public static void AnimateLayoutTransform(this object controlToAnimate)
    {
        // Code
    }
}

然后你可以写:

mygrid.AnimateLayoutTransform();

您能否指定比“对象”更精确的动画控件类型?那就更好了......例如,你只能真正为以下实例设置动画吗UIElement?也许不是……但如果你can更具体一点,这将是一个好主意。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重用函数而无需实例化新类的最简单方法 的相关文章

  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 如何使用 awswrangler 只读取 S3 中存储的 parquet 文件的前几行 N 行?

    我正在尝试使用 awswrangler 将存储在 S3 中的任意大的 parquet 文件读入 pandas 数据帧 但将我的查询限制为第一个N由于文件的大小 以及我较差的带宽 而导致的行 我不知道如何做到这一点 或者是否可以在不搬迁的情况
  • 是否可以从 bash 脚本设置超时? [复制]

    这个问题在这里已经有答案了 有时我的 bash 脚本会在没有明确原因的情况下挂起并保持 所以它们实际上可以永远挂起 脚本进程将运行直到我杀死它 是否可以结合 bash 脚本超时机制 以便在 小时后退出程序 这种仅限 Bash 的方法通过将函
  • JAX-WS 和 XSD 验证

    我有一个 wsdl 它有一个导入的 xsd 这个 xsd 有相当多的限制 如下所示
  • 检测 iPhone 中的 GPS 硬件

    我想知道如何检测 iPhone 中是否存在 GPS 硬件 你不能detect硬件 至少不是通过官方SDK 但是 您可以interact从您的应用程序 通过 CoreLocation 框架 使用它 即从中获取信息 自 iPhone OS 2
  • pip install tabulate UnicodeDecodeError 错误

    我正在尝试安装 python 包tabulate通过跑步pip3 install tabulate在 Archlinux 上但我收到以下错误 Downloading unpacking tabulate Downloading tabula
  • 通过调用 PHP 脚本从 Javascript 更新数据库

    我一直想得到这个 我正在建立一个有活动墙的网站 除了 喜欢 和 不喜欢 按钮之外 所有功能都可以正常工作 我目前只显示一个我喜欢或不喜欢的文本框 a href Like a or a href Unlike a 现在这些称为这些脚本
  • 如果选择单选按钮,则对复选框执行验证

    我正在尝试处理此表单 因此当选择第一个单选按钮时 请运行特定的验证 当选择第二个单选按钮时 运行不同的验证等 当前使用警报来检查功能 但无论我选择哪个单选按钮 我都不会收到任何反馈 JavaScript 函数
  • 在 carouse android 中为每张照片设置标题和描述

    我正在为我的应用程序使用 carouselView 库 https github com sayyam carouselview 图像正在显示 轮播正在工作 但如何在每个图像滑动时在每个图像下方设置标题和描述 我有一个包含每个图像的所有标题
  • 录制和编码 Flash 视频?

    是否可以通过Flash的 网络摄像头 设施录制视频并在服务器端接收编码视频无需任何进一步处理 即仅将流保存到文件中 或者服务器端软件是否总是需要对输入进行编码 如果需要服务器端软件 是否有免费 开源解决方案可用 是的 你必须使用服务器端软件
  • Edge 浏览器似乎丢弃响应负载

    我有一个网络应用程序 可以将 PDF 返回到浏览器 该应用程序在 Chrome 和 Firefox 中运行良好 但在 Edge 版本 38 14393 0 0 中不起作用 响应标头如下所示 Access Control Allow Head
  • blit 错误的目标位置无效

    我收到这个错误 这是完整的回溯 Traceback most recent call last File C Users hobin PycharmProjects codeitPython Snake game py line 103 i
  • 为 Strapi 自定义 CKEditor 会出现“ckeditor-duplicated-modules”错误

    我尝试修改this存储库来自定义我想在我的 Strapi 项目中使用的 CKEditor 我添加了更多插件 这就是我的 ckeditor js 文件的样子 import ClassicEditorBase from ckeditor cke
  • Android 中获取相邻单元格返回 null

    我正在尝试获取 Android 中的相邻小区信息 但该功能getNeighboringCellInfo 总是返回 null 我使用了以下代码 protected void getCellInfo TelephonyManager telep
  • 动态创建包含子查询的 Linq 表达式

    我最近偶然发现了在运行时动态创建 Linq 表达式的问题 我发现的大多数示例都处理相当简单的任务 即仅将给定数据库实体的一个属性与单个参数进行比较 就像这样 Session Query Where m gt m Name Contains
  • 为什么 LINQ .Where(predicate).First() 比 .First(predicate) 更快?

    我正在做一些性能测试 并注意到像这样的 LINQ 表达式 result list First f gt f Id i Property 慢于 result list Where f gt f Id i First Property 这似乎违
  • joomla 垃圾邮件机器人错误

    在 joomla 2 5 中使用 widgetkit 地图 yotheme 的外部组件 当我插入电子邮件地址时 joomla 会检测到并给出此错误 该电子邮件地址已受到垃圾邮件机器人的保护 您需要启用 JavaScript 才能查看它 Ja
  • 集合已修改;枚举操作可能无法执行[重复]

    这个问题在这里已经有答案了 这个问题在这个论坛上被问过很多次了 我知道问题的解决方案 但我很好奇为什么 修改集合时无法执行枚举操作 List
  • 删除 pandas 数据框中未命名的列[重复]

    这个问题在这里已经有答案了 我有一个来自 A G 列的数据文件 如下所示 但是当我使用pd read csv data csv 它打印一个额外的unnamed无缘无故地列在最后 colA ColB colC colD colE colF c
  • 以编程方式在 IIS 中启用或禁用匿名身份验证

    我有一个 Web 应用程序 我需要为其用户提供将登录方法从 FormsAuth 切换到 WindowsAuth 的选项 我设法通过代码更改 web config 文件 Configuration config WebConfiguratio
  • 重用函数而无需实例化新类的最简单方法

    我目前有一个如下所示的函数 public void AnimateLayoutTransform object ControlToAnimate Does some stuff 我在很多不同的项目中使用这个函数 所以我希望它具有很强的可重用