Hello.
I would like to create a method that retrieves data from XML in LINQ, stores the data in each type, and returns it.
However, I can't do it at all when they tell me to specify the type, such as "Null acceptable type is not allowed."
Can't I create a generic function using the one I made myself?
*PropertiesInfo can handle the process of creating the contents of each instance, so this is fine.
■ Table Type
class offices {
int No;
String Data;
}
class Workers {
int No;
String FullName;
}
■ Code
/**Code 1**/
public TFunc<T>(Table) where T:struct{
// This includes storing data from LINQ in each type (T).
return(T)Table;
}
エラーError:
CS0453 type 'T' is a generic parameter 'T',
or
for use as the method 'Nullable'
Must be a null non-permissive value type
/**Code 2**/
public Nullable<T>Func<T>(T?Table) where T:struct{
// This includes storing data from LINQ in each type (T).
return(T)Table;
}
エラーError:
The CS0411 method 'Func(T?)' type argument cannot be inferred from usage.
Specify type arguments explicitly
CS0453 type 'T' is a generic parameter 'T',
or
for use as the method 'Nullable'
Must be a null non-permissive value type
This is probably an error message that occurs when you use a null acceptable type such as The CS0411 method 'Func(T?)' type argument cannot be inferred from usage. This is a type inference failure on the caller of The Perhaps what you really need is an interface, not a Nullable<T>
(=T?
) inside the signature method publicTFunc<T>(Table)
<
Specify type arguments explicitlyFunc
.The code in the question is hard to imagine because there is no ambiguity in the type, but it occurs when you call Func()
to Func<T>(T?a=null)where T:structure
.Resolve it by specifying the type you normally use, such as Func<int>()
.Offices
is a class
and therefore does not meet the struct
constraint and cannot be used as a type argument for Func
.The Offices
type itself allows null
, so you don't have to use Offices?
.Therefore, the error caused by this is displayed.structure
.
Define an interface common to the two types and implement a method to accept it.new()
If you do not use constraints, it does not have to be generic.
If you don't write Func<T>(...)
, no matter how much you write T, it won't become generic!
The Linq method should be written in the same way, so please check it out.
Also, where T:structure
does not accept classes, so you can delete them.
577 Who developed the "avformat-59.dll" that comes with FFmpeg?
574 rails db:create error: Could not find mysql2-0.5.4 in any of the sources
579 Understanding How to Configure Google API Key
618 GDB gets version error when attempting to debug with the Presense SDK (IDE)
925 When building Fast API+Uvicorn environment with PyInstaller, console=False results in an error
© 2024 OneMinuteCode. All rights reserved.