翻譯|行業資訊|編輯:龔雪|2025-07-18 10:47:44.217|閱讀 109 次
概述:CodeRush 25.1 新推 AI 雙引擎 AiGen(語音/文字生成與修改代碼)和 AiFind(智能代碼搜索),直接在 Visual Studio 環境中響應,免除窗口切換與手動操作,讓開發者更專注核心問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
CodeRush 是專為 Visual Studio 打造的高效開發插件,通過集成 AI 驅動功能(如自然語言生成代碼的 AiGen 和智能搜索邏輯的 AiFind)、語音交互及深度重構工具,直接在 IDE 內無縫完成代碼生成、修改與導航,消除窗口切換與手動操作,顯著提升編碼速度與專注度,讓開發者更聚焦核心問題解決。
CodeRush for Visual Studio v25.1已于日前全新發布,此版本新推 AI 雙引擎 AiGen(語音/文字生成與修改代碼)和 AiFind(智能代碼搜索),接下來我們將逐一為大家揭開這些功能的神秘面紗,歡迎下載新版體驗!
在上文中(>),我們為大家介紹了安裝說明、AiGen、調試器顯示屬性等,本文將繼續介紹添加操作符重載、添加測試用例等。
DevExpress技術交流群11:749942875 歡迎一起進群討論
對于該類中的插入符號,雙擊并按住Ctrl鍵,然后說:“我可以獲得一些數學運算符重載嗎?”
過了一會兒,您應該看到下面的方法插入到您的Fraction類中:
[DebuggerDisplay("{Numerator}/{Denominator}")] public class Fraction { public static Fraction operator +(Fraction a, Fraction b) { int numerator = a.Numerator * b.Denominator + b.Numerator * a.Denominator; int denominator = a.Denominator * b.Denominator; return new Fraction(numerator, denominator); } public static Fraction operator -(Fraction a, Fraction b) { int numerator = a.Numerator * b.Denominator - b.Numerator * a.Denominator; int denominator = a.Denominator * b.Denominator; return new Fraction(numerator, denominator); } public static Fraction operator *(Fraction a, Fraction b) { int numerator = a.Numerator * b.Numerator; int denominator = a.Denominator * b.Denominator; return new Fraction(numerator, denominator); } public static Fraction operator /(Fraction a, Fraction b) { if (b.Numerator == 0) { throw new DivideByZeroException("Cannot divide by a fraction with zero numerator."); } int numerator = a.Numerator * b.Denominator; int denominator = a.Denominator * b.Numerator; return new Fraction(numerator, denominator); } public int Numerator { get; set; } public int Denominator { get; set; } public Fraction(int numerator, int denominator) { if (denominator == 0) { throw new ArgumentException("Denominator cannot be zero.", nameof(denominator)); } Numerator = numerator; Denominator = denominator; } }
有了新的操作符重載,改進的Fraction類更容易使用。現在讓我們用一些測試用例來驗證它。雙擊并按住Ctrl鍵,然后說一些類似于“一些測試用例怎么樣?”
在幾秒鐘內,您應該將一個新的類和文件FractionTests.cs添加到項目中。
在機器上使用已經引用的NUnit框架,AI構建了以下內容:
[TestFixture] public class FractionTests { [Test] public void TestAddition() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 + fraction2; Assert.AreEqual(5, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestSubtraction() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 - fraction2; Assert.AreEqual(1, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestMultiplication() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(2, 3); var result = fraction1 * fraction2; Assert.AreEqual(2, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestDivision() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(3, 4); var result = fraction1 / fraction2; Assert.AreEqual(4, result.Numerator); Assert.AreEqual(6, result.Denominator); } [Test] public void TestZeroDenominatorThrowsException() { Assert.Throws<ArgumentException>(() => new Fraction(1, 0)); } [Test] public void TestZeroNumeratorInDivisionThrowsException() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(0, 1); Assert.Throws<DivideByZeroException>(() => fraction1 / fraction2); } }
請注意,在上面高亮顯示的行中,我們正在執行新的操作符重載。
要升級遺留代碼或使用新框架,請打開該文件并簡單地說明所需內容。例如,在我們剛剛創建的測試類中,可能希望將所有這些Assert.AreEqual調用轉換為更流暢的內容。
例如,雙擊并按住Ctrl鍵,然后說,“嘿,我們能把所有這些Assert.AreEqual調用轉換為Assert.That調用嗎?”
在幾秒鐘內,AiGen將類中的每個方法更改為如下所示:
[TestFixture] public class FractionTests { [Test] public void TestAddition() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 + fraction2; Assert.That(result.Numerator, Is.EqualTo(5)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestSubtraction() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(1, 3); var result = fraction1 - fraction2; Assert.That(result.Numerator, Is.EqualTo(1)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestMultiplication() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(2, 3); var result = fraction1 * fraction2; Assert.That(result.Numerator, Is.EqualTo(2)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestDivision() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(3, 4); var result = fraction1 / fraction2; Assert.That(result.Numerator, Is.EqualTo(4)); Assert.That(result.Denominator, Is.EqualTo(6)); } [Test] public void TestZeroDenominatorThrowsException() { Assert.Throws<ArgumentException>(() => new Fraction(1, 0)); } [Test] public void TestZeroNumeratorInDivisionThrowsException() { var fraction1 = new Fraction(1, 2); var fraction2 = new Fraction(0, 1); Assert.Throws<DivideByZeroException>(() => fraction1 / fraction2); } }
更多產品資訊及授權,歡迎來電咨詢:023-68661681
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網