Twe*_*ene 3 microsoft-dynamics x++ axapta
我需要将一个布尔变量从一个类传递到另一个类。我怎样才能存档这个?我有 2 个类,一个类创建并设置布尔值,另一个类需要获取该值。这都是因为我需要在不同形式的真实值上运行代码。我应该如何在这里声明新的 classB ?它不允许我使用我的类 ProdParmReportFinishedWG_Extension。
[ExtensionOf(formStr(ProdParmReportFinished))]
final class ProdParmReportFinishedWG_Extension
{
public boolean TestB;
public boolean parmIsTest(boolean _test = TestB)
{
TestB = _test;
return TestB;
}
public void run()
{
next run();
if(TestB)
{
Ok.enabled(false);
Info("@SRM:SRM00049");
}
else
{
Info('im false');
}
}
}
[ExtensionOf(formdatasourcestr(ProdTableListPage, ProdTable))]
final class ProdParmReportFinishedActiveWG_Extension
{
public boolean Test;
public int active()
{
int ret;
next Active();
ProdTable tableBuffer = this.cursor();
ProdTable prodtable;
ProdParmReportFinishedWG_Extension ClassB = new ProdParmReportFinishedWG_Extension();
;
if(tableBuffer.ProdId == tableBuffer.CollectRefProdId
&& tableBuffer.ProdStatus != ProdStatus::ReportedFinished)
{
select firstonly RecId,ProdId from ProdTable where
ProdTable.CollectRefProdId == tableBuffer.ProdId
&& ProdTable.Prodstatus != ProdStatus::ReportedFinished
&& tableBuffer.RecId != prodtable.RecId;
{
Test = true;
ClassB.parmIsTest(Test);
ClassB.Run();
}
}
else
{
Global::info(strFmt("%1 , %2, %3, %4",
tableBuffer.prodid, tableBuffer.CollectRefProdId, tableBuffer.InventRefType, tableBuffer.ProdStatus));
}
return ret;
}
}
Run Code Online (Sandbox Code Playgroud)
有几种方法,你可以试试这样的:
例如,在A 类中定义并设置布尔变量,在B 类中传递布尔变量并使用您的逻辑。
代码示例:
A级
class A
{
boolean Test;
}
private void Run()
{
B ClassB = new B();
;
//Your logic to set boolean variable
Test = true;
ClassB.parmIsTest(Test);
ClassB.Run();
}
Run Code Online (Sandbox Code Playgroud)
B级
class B
{
boolean TestB;
}
public boolean parmIsTest(boolean _test = TestB)
{
TestB = _test;
return TestB;
}
public void Run()
{
//Do your logic
if(TestB)
{
//Your code...
}
else
{
//Your code...
}
//Do your logic END
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |